CamilloCorleone
29-04-2013, 22:06
Ciao a tutti,
vi spiego:
io per ora ho dei radio buttons organizzati così:
<input type="radio" name="AAA" value="100" onclick='check_value()' />
<input type="radio" name="AAA" value="200" onclick='check_value()' />
<input type="radio" name="BBB" value="300" onclick='check_value()' />
<input type="radio" name="BBB" value="400" onclick='check_value()' />
Il codice che uso per SOMMARE tutte le scelte dei radio (1 per ogni tipo) selezionati, è il seguente:
<script language="JavaScript" type="text/javascript">
function check_value() {
var total = 0;
var controls = document.getElementsByTagName('input');
for (var i = 0; i < controls.length; i++) {
if ((controls[i].type === 'radio' || controls[i].type === 'checkbox') && controls[i].checked)
total = total + parseFloat(controls[i].value);
}
document.getElementById("totale").innerHTML = "€" + total.toString();
}
</script>
In questo modo, se seleziono il primo AAA ed il secondo BBB il totale è 500, se seleziono il secondo AAA ed il secondo BBB il totale è 600 e via dicendo, credo sia abbastanza intuitivo.
Il problema è che invece di value="100", ho bisogno di avere value="100##descrizione prodotto".
Questo perché i radio sono in un form, e quando vado a fare submit ho bisogno della descrizione, non del numero!
Mi sapete aiutare a modificare lo script in modo che mi faccia uno split e continui a funzionare, prendendo come valore numerico soltanto ciò che c'è prima del ##?
Grazie :)
vi spiego:
io per ora ho dei radio buttons organizzati così:
<input type="radio" name="AAA" value="100" onclick='check_value()' />
<input type="radio" name="AAA" value="200" onclick='check_value()' />
<input type="radio" name="BBB" value="300" onclick='check_value()' />
<input type="radio" name="BBB" value="400" onclick='check_value()' />
Il codice che uso per SOMMARE tutte le scelte dei radio (1 per ogni tipo) selezionati, è il seguente:
<script language="JavaScript" type="text/javascript">
function check_value() {
var total = 0;
var controls = document.getElementsByTagName('input');
for (var i = 0; i < controls.length; i++) {
if ((controls[i].type === 'radio' || controls[i].type === 'checkbox') && controls[i].checked)
total = total + parseFloat(controls[i].value);
}
document.getElementById("totale").innerHTML = "€" + total.toString();
}
</script>
In questo modo, se seleziono il primo AAA ed il secondo BBB il totale è 500, se seleziono il secondo AAA ed il secondo BBB il totale è 600 e via dicendo, credo sia abbastanza intuitivo.
Il problema è che invece di value="100", ho bisogno di avere value="100##descrizione prodotto".
Questo perché i radio sono in un form, e quando vado a fare submit ho bisogno della descrizione, non del numero!
Mi sapete aiutare a modificare lo script in modo che mi faccia uno split e continui a funzionare, prendendo come valore numerico soltanto ciò che c'è prima del ##?
Grazie :)