Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Dave79
    Registrato dal
    Apr 2003
    Messaggi
    32

    Somma con valori radiobutton (javascript)

    salve a tutto il forum,
    sono alle prese con un javascript , ma non riesco a venirne a capo.
    Quello che voglio far eseguire allo script è la somma di due o + valori in radiobutton.

    Posto il codice per essere più chiaro.
    la somma dovrebbe uscire in basso nel totale articolo.
    vorrei sommare due valori in due diverse function e / o se ci sono alternative più semplici sarebbe l'ideale.
    qualcuno del forum potrebbe essermi d'aiuto?

    grazie

    codice:
    <script type="text/javascript">
    function valore(pagamento1)
    {
    document.forms[0].paga.value = pagamento1
    }
    function valore2(pagamento2)
    {
    document.forms[0].paga2.value = pagamento2
    }
    
    </script>
    <form name="provaform" method="post" action="">
    <table><tr><td valign="top" align="left" >Articolo2</td>
    				<td  colspan="3" align="left">
    				<input type="radio" name="pagamento1" onclick="valore(this.value)" value="8,50">prova 8
    
    				<input type="radio" name="pagamento1" onclick="valore(this.value)" value="0,00">prova 0,00
    
    				</td>
    				<td align="right" >
    				<input type="text" name="paga" size="8" style="font-size: 10px; font-weight: bold; font-family: verdana; border: 0px solid #FF6600; color:#000000; background-color:#FF6600; right:auto" onFocus="this.blur()">
    
    				</td>
    				</tr>
    				<tr> 
    				<td valign="top" align="left" >Articolo1</td>
    				<td  colspan="3" align="left">
    				<input type="radio" name="pagamento2" onclick="valore2(this.value)" value="5,00">prova5
    
    				<input type="radio" name="pagamento2" onclick="valore2(this.value)" value="7,00">prova7
    
    				</td>
    				<td align="right" >
    				<input type="text" name="paga2" onFocus="this.blur()" size="8" style="font-size: 10px; font-weight: bold; font-family: verdana; border: 0px solid #FF6600; color:#000000; background-color:#FF6600; right:auto" >
    
    				</td></tr><tr><td colspan="4">Totale articolo</td><td align="right" >
    			  <input type="text" name="paga_tot" onfocus="document.forms[0].paga2.value,document.forms[0].paga2.value" size="8" style="font-size: 10px; font-weight: bold; font-family: verdana; border: 0px solid #FF6600; color:#000000; background-color:#FF6600" ></td>
    			  </tr></table>
    </form>

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    codice:
    function valore(pagamento1)
    {
    	document.forms[0].paga.value = pagamento1;
    	somma();
    }
    function valore2(pagamento2)
    {
    	document.forms[0].paga2.value = pagamento2;
    	somma();
    }
    
    function somma()
    {
    	var v1 = parseFloat(document.getElementById("Text1").value.replace(/\,/, '.'));
    	if(isNaN(v1)) v1 = 0;
    	var v2 = parseFloat(document.getElementById("Text2").value.replace(/\,/, '.'));
    	if(isNaN(v2)) v2 = 0;
    	var v3 = v1 + v2;
    	document.getElementById("Text3").value = v3;
    	
    }
    Pietro

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Puoi fare cosi ...

    Ho rimpiaziato la virgola con un punto nei value.

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Untitled</title>
    </head>
    <body>
    <script type="text/javascript">
    function valore(pagamento1)
    {
    document.forms[0].paga.value = pagamento1
    ricalcola();
    }
    function valore2(pagamento2)
    {
    document.forms[0].paga2.value = pagamento2
    ricalcola();
    }
    
    function ricalcola() {
     p1 = isNaN(parseFloat(document.forms[0].paga.value))  ? 0 : parseFloat(document.forms[0].paga.value);
     p2 = isNaN(parseFloat(document.forms[0].paga2.value)) ? 0 : parseFloat(document.forms[0].paga2.value)
     document.forms[0].paga_tot.value = p1 + p2;
    }
    
    </script>
    <form name="provaform" method="post" action="">
    <table><tr><td valign="top" align="left" >Articolo2</td>
    				<td  colspan="3" align="left">
    				<input type="radio" name="pagamento1" onclick="valore(this.value)" value="8.50">prova 8
    
    				<input type="radio" name="pagamento1" onclick="valore(this.value)" value="0.00">prova 0,00
    
    				</td>
    				<td align="right" >
    				<input type="text" name="paga" size="8" style="font-size: 10px; font-weight: bold; font-family: verdana; border: 0px solid #FF6600; color:#000000; background-color:#FF6600; right:auto" onFocus="this.blur()">
    
    				</td>
    				</tr>
    				<tr> 
    				<td valign="top" align="left" >Articolo1</td>
    				<td  colspan="3" align="left">
    				<input type="radio" name="pagamento2" onclick="valore2(this.value)" value="5.00">prova5
    
    				<input type="radio" name="pagamento2" onclick="valore2(this.value)" value="7.00">prova7
    
    				</td>
    				<td align="right" >
    				<input type="text" name="paga2" onFocus="this.blur()" size="8" style="font-size: 10px; font-weight: bold; font-family: verdana; border: 0px solid #FF6600; color:#000000; background-color:#FF6600; right:auto" >
    
    				</td></tr><tr><td colspan="4">Totale articolo</td><td align="right" >
    			  <input type="text" name="paga_tot" onfocus="document.forms[0].paga2.value,document.forms[0].paga2.value" size="8" style="font-size: 10px; font-weight: bold; font-family: verdana; border: 0px solid #FF6600; color:#000000; background-color:#FF6600" ></td>
    			  </tr></table>
    </form>
    
    </body>
    </html>

  4. #4
    Utente di HTML.it L'avatar di Dave79
    Registrato dal
    Apr 2003
    Messaggi
    32
    grazie dell'aiuto...
    avendo un totale in asp sotto forma <%=formatcurrency("totale")%> (es € 3,00)vorrei sommarlo ai volori dei radiobutton, ma solo nel totale... è possibile?
    come passo i valori asp nelle funzioni e renderlo compatibile con il totale javascript?

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Prima cosa. Togli il simbolo dell'euro (per fare una somma non è il massimo). Poi non so se ho capito bene

    Puoi crearti un input "hidden" o crearti un input come hai già fatto.

    <input type="hidden" name="pippo" id="pippo" value="<% totale %>">

    nel JS....

    codice:
    function ricalcola() {
     p1 = isNaN(parseFloat(document.forms[0].paga.value))  ? 0 : parseFloat(document.forms[0].paga.value);
     p2 = isNaN(parseFloat(document.forms[0].paga2.value)) ? 0 : parseFloat(document.forms[0].paga2.value);
     p3 = isNaN(parseFloat(document.forms[0].pippo.value)) ? 0 : parseFloat(document.forms[0].pippo.value); 
     document.forms[0].paga_tot.value = p1 + p2 + p3;
    }

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.