Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    466

    [JS] Somma di due funzioni

    Ho il solito script, vorrei che Totale contenesse la somma di Totale1 e Totale2.

    Non fate caso al fatto che totale1 e totale2 riportano gli stessi valori, nella versione definitiva di questo benedetto script avranno valori diversi:

    codice:
    <script>
    
    function prezzoTot(){
    	tot=0;idd='';
    	for(i=1;i<4;i++){
    		currLine=0;
    		if(!(eval("document."+formName+".campoH"+(i)+".value")=='')) eval("currLine=document."+formName+".campoH"+(i)+".value");
     		tot=parseFloat(tot)+parseFloat(currLine);
    	}
    	num = Math.round(tot*100)/100;
    	str=""+num;
    	if(str.indexOf(".")<0) str=str+".00";
    	if (str.length-str.indexOf(".")==2) str=str+"0";
    	document.getElementById("prezzoTot").innerHTML = '€ '+str;
    }
    
    
    function molt(f,g) { 
    c1=parseFloat("0"+f.elements['campoF'+g].value); 
    c2=parseFloat("0"+f.elements['campoG'+g].value); 
    ris=c1*c2;
    	num = Math.round(ris*100)/100;
    	str=""+num;
    	if(str.indexOf(".")<0) str=str+".00";
    	if (str.length-str.indexOf(".")==2) str=str+"0";
    	f.elements['campoH'+g].value=str; 
    } 
    
    function prezzoTot2(){
    	tot=0;idd='';
    	for(i=1;i<4;i++){
    		currLine=0;
    		if(!(eval("document."+formName+".campoH"+(i)+".value")=='')) eval("currLine=document."+formName+".campoH"+(i)+".value");
     		tot=parseFloat(tot)+parseFloat(currLine);
    	}
    	num = Math.round(tot*100)/100;
    	str=""+num;
    	if(str.indexOf(".")<0) str=str+".00";
    	if (str.length-str.indexOf(".")==2) str=str+"0";
    	document.getElementById("prezzoTot2").innerHTML = '€ '+str;
    }
    
    
    
    
    </script>
    
    <BODY>
    <script>formName='formName';</script>
    <FORM NAME="formName">
    
    <TABLE>
    <TR>
    	<TD><input type="text" name="campoF1" onBlur='molt(this.form,this.name.charAt(this.name.length-1));prezzoTot();prezzoTot2();'></TD>
    	<TD><input type="text" name="campoG1" onBlur='molt(this.form,this.name.charAt(this.name.length-1));prezzoTot();prezzoTot2();'></TD>
    	<TD><input type=text name =campoH1 readonly></TD>
    	<TD><INPUT TYPE="checkbox" NAME="check1" onclick="this.form.campoF1.value='0';"></TD>
    </TR>
    <TR>
    	<TD><input type="text" name="campoF2" onBlur='molt(this.form,2);prezzoTot();prezzoTot2();'></TD>
    	<TD><input type="text" name="campoG2" onBlur='molt(this.form,2);prezzoTot();prezzoTot2();'></TD>
    	<TD><input type="text" name="campoH2"></TD>
    	<TD><INPUT TYPE="checkbox" NAME="check2" onclick="this.form.campoF2.value='0';"></TD>
    </TR>
    <TR>
    	<TD><input type="text" name="campoF3" onBlur='molt(this.form,3);prezzoTot();prezzoTot2();'></TD>
    	<TD><input type="text" name="campoG3" onBlur='molt(this.form,3);prezzoTot();prezzoTot2();'></TD>
    	<TD><input type="text" name="campoH3"></TD>
    	<TD><INPUT TYPE="checkbox" NAME="check3" onclick="this.form.campoF3.value='0';"></TD>
    </TR>
    <TR>
    	<TD><input type="text" name="campoF4" onBlur='molt(this.form,4);prezzoTot();prezzoTot2();'></TD>
    	<TD><input type="text" name="campoG4" onBlur='molt(this.form,4);prezzoTot();prezzoTot2();'></TD>
    	<TD><input type="text" name="campoH4"></TD>
    	<TD><INPUT TYPE="checkbox" NAME="check4" onclick="this.form.campoF4.value='0';"></TD>
    </TR>
    </TABLE>
    
    
    
    
    Totale1: <span id=prezzoTot align=right>€ 0.00</span>
    
    Totale2: <span id=prezzoTot2 align=right>€ 0.00</span>
    
    
    Totale: <span id=prezzoTot align=right>€ 0.00</span>
    
    
    </form>
    Grazie, Mc

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    466
    Up.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    occhio, hai due span con id "totale"... sistemalo.


    devi fare una cosa del genere

    uno=parseFloat(document.getElementById("totale1"). innerHTML)
    due=parseFloat(document.getElementById("totale2"). innerHTML)
    tot=uno+due
    document.getElementById("totale").innerHTML="€ "+tot

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    466
    Grazie ora provo a metterlo a posto.

    Ma quello che mi hai suggerito dove lo devo inserire in una nuova funzione?

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    Dipende da quello che vuoi fare... in generale, si, lo metti in una funzione e la richiami quando ti interessa

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    466
    Ci ho provato ma non ci sto riuscende.

    Se ne hai voglia mi modifichi la mia funzione così vedo come si fa?

    E' l'ultimo tassello e poi finalmente ho finito sto maledetto js, purtroppo è un linguaggio che non conosco e mi sono arrangiato alla meno peggio.

    Scusa per la rottura e grazie, MC

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    avevo fatto un errore, lo ho corretto (parseFloat(valore)).

    Cmq, se mettessi il risultato in un campo di testo, senza €, sarebbe molto + comodo fare i conti...

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    uno spunto puoi beccarlo da qui

    <script>
    function totale(){
    uno=parseFloat(document.getElementById("totale1"). innerHTML.substr(2))
    due=parseFloat(document.getElementById("totale2"). innerHTML.substr(2))
    tot=uno+due
    tot=Math.round(tot*100,2)/100
    alert(tot)
    document.getElementById("totale3").innerHTML="€ "+tot
    }
    </script>
    <form name="form1">
    <span id="totale1">€ 12.22</span>
    <span id="totale2">€ 45.67</span>
    ----------
    <span id="totale3"></span>
    <input type="button" onClick="totale()" value="Totalone">
    </form>


    Scusa... ma oggi ho avuto una giornata psico-faticosa

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    466
    Sono una capra, ho fatto cos' ma continua a non funzionarmi:

    codice:
    <script>
    
    var uno;
    var due;
    
    function prezzoTot(){
    	tot=0;idd='';
    	for(i=1;i<4;i++){
    		currLine=0;
    		if(!(eval("document."+formName+".campoH"+(i)+".value")=='')) eval("currLine=document."+formName+".campoH"+(i)+".value");
      		tot=parseFloat(tot)+parseFloat(currLine);
    	}
    	num = Math.round(tot*100)/100;
    	str=""+num;
    	if(str.indexOf(".")<0) str=str+".00";
    	if (str.length-str.indexOf(".")==2) str=str+"0";
    	document.getElementById("totale1").innerHTML = '€ '+str;
    }
    
    
    function molt(f,g) { 
    c1=parseFloat("0"+f.elements['campoF'+g].value); 
    c2=parseFloat("0"+f.elements['campoG'+g].value); 
    ris=c1*c2;
    	num = Math.round(ris*100)/100;
    	str=""+num;
    	if(str.indexOf(".")<0) str=str+".00";
    	if (str.length-str.indexOf(".")==2) str=str+"0";
    	f.elements['campoH'+g].value=str; 
    } 
    
    function prezzoTot2(){
    	tot=0;idd='';
    	for(i=1;i<4;i++){
    		currLine=0;
    		if(!(eval("document."+formName+".campoH"+(i)+".value")=='')) eval("currLine=document."+formName+".campoH"+(i)+".value");
      		tot=parseFloat(tot)+parseFloat(currLine);
    	}
    	num = Math.round(tot*100)/100;
    	str=""+num;
    	if(str.indexOf(".")<0) str=str+".00";
    	if (str.length-str.indexOf(".")==2) str=str+"0";
    	document.getElementById("totale2").innerHTML = '€ '+str;
    }
    
    function pippo()
    {
    	uno=parseFloat(document.getElementById("totale1").innerHTML); 
    	due=parseFloat(document.getElementById("totale2").innerHTML); 
    	tot=uno+due; 
    	document.getElementById("totale").innerHTML="€ "+tot;
    }
    
    
    </script>
    
    <BODY>
    <script>formName='formName';</script>
    <FORM NAME="formName">
    
    <TABLE>
    <TR>
    	<TD><input type="text" name="campoF1" onBlur='molt(this.form,this.name.charAt(this.name.length-1));prezzoTot();prezzoTot2();pippo();'></TD>
    	<TD><input type="text" name="campoG1" onBlur='molt(this.form,this.name.charAt(this.name.length-1));prezzoTot();prezzoTot2();pippo();'></TD>
    	<TD><input type=text name =campoH1 readonly></TD>
    	<TD><INPUT TYPE="checkbox" NAME="check1" onclick="this.form.campoF1.value='0';"></TD>
    </TR>
    <TR>
    	<TD><input type="text" name="campoF2" onBlur='molt(this.form,2);prezzoTot();prezzoTot2();pippo();'></TD>
    	<TD><input type="text" name="campoG2" onBlur='molt(this.form,2);prezzoTot();prezzoTot2();pippo();'></TD>
    	<TD><input type="text" name="campoH2"></TD>
    	<TD><INPUT TYPE="checkbox" NAME="check2" onclick="this.form.campoF2.value='0';"></TD>
    </TR>
    <TR>
    	<TD><input type="text" name="campoF3" onBlur='molt(this.form,3);prezzoTot();prezzoTot2();pippo();'></TD>
    	<TD><input type="text" name="campoG3" onBlur='molt(this.form,3);prezzoTot();prezzoTot2();pippo();'></TD>
    	<TD><input type="text" name="campoH3"></TD>
    	<TD><INPUT TYPE="checkbox" NAME="check3" onclick="this.form.campoF3.value='0';"></TD>
    </TR>
    <TR>
    	<TD><input type="text" name="campoF4" onBlur='molt(this.form,4);prezzoTot();prezzoTot2();pippo();'></TD>
    	<TD><input type="text" name="campoG4" onBlur='molt(this.form,4);prezzoTot();prezzoTot2();pippo();'></TD>
    	<TD><input type="text" name="campoH4"></TD>
    	<TD><INPUT TYPE="checkbox" NAME="check4" onclick="this.form.campoF4.value='0';"></TD>
    </TR>
    </TABLE>
    
    
    
    
    Totale1: <span id=totale1 align=right>€ 0.00</span>
    
    Totale2: <span id=totale2 align=right>€ 0.00</span>
    
    
    Totale: <span id=totale align=right>€ 0.00</span>
    
    
    </form>

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    <script>

    var uno;
    var due;

    function prezzoTot(){
    tot=0;idd='';
    for(i=1;i<4;i++){
    currLine=0;
    if(!(eval("document."+formName+".campoH"+(i)+".val ue")==''))

    eval("currLine=document."+formName+".campoH"+(i)+" .value");
    tot=parseFloat(tot)+parseFloat(currLine);
    }
    num = Math.round(tot*100)/100;
    str=""+num;
    if(str.indexOf(".")<0) str=str+".00";
    if (str.length-str.indexOf(".")==2) str=str+"0";
    document.getElementById("totale1").innerHTML = '€ '+str;
    }


    function molt(f,g) {
    c1=parseFloat("0"+f.elements['campoF'+g].value);
    c2=parseFloat("0"+f.elements['campoG'+g].value);
    ris=c1*c2;
    num = Math.round(ris*100)/100;
    str=""+num;
    if(str.indexOf(".")<0) str=str+".00";
    if (str.length-str.indexOf(".")==2) str=str+"0";
    f.elements['campoH'+g].value=str;
    }

    function prezzoTot2(){
    tot=0;idd='';
    for(i=1;i<4;i++){
    currLine=0;
    if(!(eval("document."+formName+".campoH"+(i)+".val ue")==''))

    eval("currLine=document."+formName+".campoH"+(i)+" .value");
    tot=parseFloat(tot)+parseFloat(currLine);
    }
    num = Math.round(tot*100)/100;
    str=""+num;
    if(str.indexOf(".")<0) str=str+".00";
    if (str.length-str.indexOf(".")==2) str=str+"0";
    document.getElementById("totale2").innerHTML = '€ '+str;
    }

    function pippo()
    {
    uno=parseFloat(document.getElementById("totale1"). innerHTML.substr(2))
    due=parseFloat(document.getElementById("totale2"). innerHTML.substr(2))
    tot=uno+due
    tot=Math.round(tot*100,2)/100
    document.getElementById("totale").innerHTML="€ "+tot
    }


    </script>

    <BODY>
    <script>formName='formName';</script>
    <FORM NAME="formName">

    <TABLE>
    <TR>
    <TD><input type="text" name="campoF1"

    onBlur='molt(this.form,this.name.charAt(this.name. length-1));prezzoTot();prezzoTot2();pipp

    o();'></TD>
    <TD><input type="text" name="campoG1"

    onBlur='molt(this.form,this.name.charAt(this.name. length-1));prezzoTot();prezzoTot2();pipp

    o();'></TD>
    <TD><input type=text name =campoH1 readonly></TD>
    <TD><INPUT TYPE="checkbox" NAME="check1"

    onclick="this.form.campoF1.value='0';"></TD>
    </TR>
    <TR>
    <TD><input type="text" name="campoF2" onBlur='molt(this.

    form,2);prezzoTot();prezzoTot2();pippo()
    ;'></TD>
    <TD><input type="text" name="campoG2" onBlur='molt(this.

    form,2);prezzoTot();prezzoTot2();pippo()
    ;'></TD>
    <TD><input type="text" name="campoH2"></TD>
    <TD><INPUT TYPE="checkbox" NAME="check2"

    onclick="this.form.campoF2.value='0';"></TD>
    </TR>
    <TR>
    <TD><input type="text" name="campoF3" onBlur='molt(this.

    form,3);prezzoTot();prezzoTot2();pippo()
    ;'></TD>
    <TD><input type="text" name="campoG3" onBlur='molt(this.

    form,3);prezzoTot();prezzoTot2();pippo()
    ;'></TD>
    <TD><input type="text" name="campoH3"></TD>
    <TD><INPUT TYPE="checkbox" NAME="check3"

    onclick="this.form.campoF3.value='0';"></TD>
    </TR>
    <TR>
    <TD><input type="text" name="campoF4" onBlur='molt(this.

    form,4);prezzoTot();prezzoTot2();pippo()
    ;'></TD>
    <TD><input type="text" name="campoG4" onBlur='molt(this.

    form,4);prezzoTot();prezzoTot2();pippo()
    ;'></TD>
    <TD><input type="text" name="campoH4"></TD>
    <TD><INPUT TYPE="checkbox" NAME="check4"

    onclick="this.form.campoF4.value='0';"></TD>
    </TR>
    </TABLE>




    Totale1: <span id=totale1 align=right>€ 0.00</span>

    Totale2: <span id=totale2 align=right>€ 0.00</span>


    Totale: <span id=totale align=right>€ 0.00</span>


    </form>

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.