|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2007
Città: Torino
Messaggi: 1688
|
[Javascript] Piccola modifica a script, mi aiutate?
Ciao a tutti,
vi spiego: io per ora ho dei radio buttons organizzati così: Codice:
<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()' /> Codice:
<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>
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 |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2007
Città: Torino
Messaggi: 1688
|
Ho provato così:
Codice:
<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)
var splittato = controls[i].value.split('@');
total = total + parseFloat(splittato[0]);
}
document.getElementById("totale").innerHTML = "€" + total.toString();
}
</script>
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2782
|
Ma perché "splitti" sulla chiocciola (@) quando a te interessa splittare sui cancelletti (##)?
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Dec 2007
Città: Torino
Messaggi: 1688
|
Quote:
Ad ogni modo ho scoperto che, anche senza alcuna modifica, probabilmente grazie a come si comporta parseFloat, un 149@descrizione viene preso dalla funzione calcolatrice come 149 e stop |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:40.




















