Salve,
sono principiante dell'uso di javascript e vorrei proporvi un problema che non riesco a risolvere.
Ho creato una funzione che aumenta e diminuisce (con un + e un -) il valore di un campo.
Scrivo la funzione:
nell'Head:
Nel body:codice:<script language="javascript"> <!-- function diminuirnoci() { cuenta=parseInt(document.formulario.noci.value); if (cuenta>0) document.formulario.noci.value=parseInt(document.formulario.noci.value) - 1; } function aumentarnoci() { document.formulario.noci.value=parseInt(document.formulario.noci.value) + 1; } //--> </script>
codice:<input type="button" onclick="diminuirnoci();" class="buttonmeno" /> <input type="text" name="noci" maxlength="3" size="3" border="1" style="width:25px; text-align:center;" value="0"> <input type="button" onclick="aumentarnoci();" class="buttonmas" />
Questo script funziona perfettamente... il problema è che nel formulario ci saranno 16 elementi uguali!!!
Se volessi mantenero questo metodo dovrei riscrivere 16 volte la stessa funzione, cosa assurda per un programmatore.
Per risolvere ho pensato di passare un valore differente per ogni campo dal onclick.
Ho provato questo codice:
Nel Head:
Nel body:codice:<script language="javascript"> <!-- function diminuir(valore) { cuenta=parseInt(document.formulario.eval(valore).value); if (cuenta>0) document.formulario.eval(valore).value=parseInt(document.formulario.eval(valore).value) - 1; } function aumentar(valore) { document.formulario.eval(valore).value=parseInt(document.formulario.eval(valore).value) + 1; } //--> </script>
Mi sembrava corretto, però non funziona... perche???codice:<input type="button" onclick="diminuir(noci);" class="buttonmeno" /> <input type="text" name="noci" maxlength="3" size="3" border="1" style="width:25px; text-align:center;" value="0"> <input type="button" onclick="aumentar(noci);" class="buttonmas" /> <input type="button" onclick="diminuir(cioccolata);" class="buttonmeno" /> <input type="text" name="cioccolata" maxlength="3" size="3" border="1" style="width:25px; text-align:center;" value="0"> <input type="button" onclick="aumentar(cioccolata);" class="buttonmas" />
grazie

Rispondi quotando
