Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 20 su 20

Discussione: Popolare uno SPAN

  1. #11
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Be`, potresti andarti a studiare lo script che hanno usato loro.
    Ma non guardare come hanno fatto la pagina: e` un caos totale.

    La funzione che fa tutti i calcoli e` clki(). Non sta nella pagina, ma in qualche script linkato: dovresti guradarteli un po' e cercare quella funzione (e probabilmente anche il database collegato).

    Ma tieni presente che loro hanno usato ASPX, che semplifica la programmazione a livello server, ma complica enormemente la cosa lato client (e fa un macello con le formattazioni).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  2. #12
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    L'avevo notato...il loro script è incomprensibile, è troppo complicato! Fosse per me eviterei completamente questo sistema, che rende tutto solo più incasinato

  3. #13
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    No niente, il loro script è troppo complicato e non è adattabile al mio sito...non ci può essere un sistema più semplice?

  4. #14
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Allora devi studiare tu lo script. Non e` impossibile, ma occorre procedere con calma.

    Anzitutto bisogna avere una pagina HTML valida, altrimenti il JS puo` avere comportamenti imprevisti in qualche browser.

    Poi occorre inserire le chiamate alle funzioni: come primo passo nelle funzioni mettici solo un alert ceh visualizza le variabili passate.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #15
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    A causa dello spazio limitato su questo forum ho messo online lo script a quuesto indirizzo: http://n.1asphost.com/grinderweb/scriptradiobutton.txt

    Il problema maggiore è gestire tutti quei Case, ci vuole una soluzione alternativa perchè il numero dei radio è dinamico e gestito da ASP, altrimenti andrebbe benissimo. In sostanza da tutti i valori viene sottratto il valore del radio selezionato, tutto quì...perchè deve essere così complicato

  6. #16
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    La cosa si puo` sicuramente semplificare, ma ho difficolta` a "entrare nella testa" di quello script.

    Ad esempio a che serve il Math.round() ?
    E non ha senso arrotondare una stringa.

    E che oggetto e`
    document.elements[nome][2].prezzo

    Non e` che potresti scrivere una formula di tipo algebrico?

    E non si potrebebro sostituire i nomi 'primo', 'secondo', ... con dei puntatori?
    Cioe` non potrebbero essere nomi del tipo: posiz0, posiz1, posiz2, ...

    Oltre che lo script potresti postare anche il link all'HTML? E` sempre lo stesso?
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #17
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Non è che arrotondo una stringa, ma trasformo il calcolo in una stringa per avere così sempre due decimali fissi anche quando sono 00. Il concetto è che a tutti i radio si sottrae il valore del radio selezionato e quello selezionato non dovrebbe mostrare alcun numero...

    Questa la pagina con applicato lo script (macchinosissimo):
    http://www.remtech.it/ghost/gaming/tmp_configura.asp

    A parte l'artigianalità dello script e qualche errore, non funziona neanche malissimo (non funziona su Firefox per via che non riconosce i campi option)!

  8. #18
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    L'ho semplificato un pò! Ho tolto i case e messo una funzione (segnata in rosso) che però non viene del tutto rispettata
    codice:
    <script language="javascript">
    
       function comp_originale_<%=rs("cat_comp")%>(nome, valore) {
       for (i=0;i<document.Form_Controllo_Prezzo[nome].length;i++){
       if (document.Form_Controllo_Prezzo[i].checked==true)    {
       originale = valore;
       break
       } else {
       originale = document.Form_Controllo_Prezzo[i].prezzo;
       } 
       }
       }
       
    function segno(nome, indice){
    var diff = parseInt(document.Form_Controllo_Prezzo[nome][indice].prezzo)-parseInt(originale);
    
    if (diff >= 0){
    str_diff = "[+"+(Math.abs(parseInt(document.Form_Controllo_Prezzo[nome][indice].prezzo)-parseInt(originale)))+" euro]";
    } else if (diff == 0){
    str_diff = "";
    } else {
    str_diff = "[-"+(Math.abs(parseInt(document.Form_Controllo_Prezzo[nome][indice].prezzo)-parseInt(originale)))+" euro]";
    }
    }  
    
    function scrivivalore_<%=rs("cat_comp")%>(fieldvalue, nome){
    
    for (i=0;i<document.Form_Controllo_Prezzo[nome].length;i++){     
    			if (document.getElementById('primo_<%=rs("cat_comp")%>')){
    	segno(nome, 0)
        document.getElementById('primo_<%=rs("cat_comp")%>').innerHTML = str_diff;
    	}if (document.getElementById('secondo_<%=rs("cat_comp")%>')){
    	segno(nome, 1)
    	document.getElementById('secondo_<%=rs("cat_comp")%>').innerHTML = str_diff;
    	}if (document.getElementById('terzo_<%=rs("cat_comp")%>')){
    	segno(nome, 2)
    	document.getElementById('terzo_<%=rs("cat_comp")%>').innerHTML = str_diff;
    	}if (document.getElementById('quarto_<%=rs("cat_comp")%>')){
    	segno(nome, 3)
    	document.getElementById('quarto_<%=rs("cat_comp")%>').innerHTML = str_diff;
    	}if (document.getElementById('quinto_<%=rs("cat_comp")%>')){
    	segno(nome, 4)
    	document.getElementById('quinto_<%=rs("cat_comp")%>').innerHTML = str_diff;
    	}if (document.getElementById('sesto_<%=rs("cat_comp")%>')){
    	segno(nome, 5)
    	document.getElementById('sesto_<%=rs("cat_comp")%>').innerHTML = str_diff;
    	}if (document.getElementById('settimo_<%=rs("cat_comp")%>')){
    	segno(nome, 6)
    	document.getElementById('settimo_<%=rs("cat_comp")%>').innerHTML = str_diff;
    	}if (document.getElementById('ottavo_<%=rs("cat_comp")%>')){
    	segno(nome, 7)
    	document.getElementById('ottavo_<%=rs("cat_comp")%>').innerHTML = str_diff;
    	}if (document.getElementById('nono_<%=rs("cat_comp")%>')){
    	segno(nome, 8)
    	document.getElementById('nono_<%=rs("cat_comp")%>').innerHTML = str_diff;
    	}
      }	
    }
    </script>
    Non viene rispettata la condizione per la quale se la differenza è pari a 0 non si debba scrivere niente a video! Le altre due però vengono considerate :master:

  9. #19
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Attento che la prima condizione
    diff >= 0
    diff maggiore o uguale a zero
    racchiude anche la seconda
    diff == 0

    C'e` qualcosa che non va in quella logica
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #20
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Adesso ho risolto tutto, il codice funziona perfettamente! Però funziona solo su IE

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.