Salve,
scusate se posto perché l'argomento è roba vecchia, ma prima di farlo ho passato un bel po' di tempo a cercare (per esempio qui) e a provare numerose combinazioni.
Ho un form con n bottoni radio:
in cui deve essere inviato il submit solo se almeno un bottone è selezionato. A tal proposito ho creato un semplicissimo controllo JS:codice:<FORM NAME="actions_find" ACTION="action_view.php" METHOD="POST" onSubmit="return check_form();"> <INPUT TYPE="RADIO" NAME="action_id" VALUE="1"> <INPUT TYPE="RADIO" NAME="action_id" VALUE="2"> <INPUT TYPE="SUBMIT" VALUE="Visualizza"> </FORM>
che non lavora perché non blocca il submit.codice:<SCRIPT Language="Javascript" TYPE="text/javascript"> <!-- function check_form() { var count = 0; for (i=0; i<=10; i++) { if (document.actions_find.action_id[i].checked == true) { count++; } } if (count <= 0) { alert('Deve essere selezionata almeno un\'azione da visualizzare.'); return false; } else { return true; } } //--> </SCRIPT>
Il JS debugger di Firefox dice:
document.actions_find.action_id[i] has no properties.
Ma non riesco a capire, perché quell'oggetto ce la dovrebbe proprio avere la proprietà checked...
E' come se non leggesse la variabile i all'interno del ciclo for.
Ho provato anche a mettere for (var i=0; i<=10; i++) ma non funziona ugualmente.
Ho provato anche a sostituirecon il più modernocodice:document.actions_find.action_id[i].checked(senza essere sicuro della validità) ma senza risultati.codice:document.getElementByName('action_id')[i].checked
Scommetto che come sempre è una inezia che mi blocca il flusso di zeri e uno nel supercervellone (?) del PC.

Rispondi quotando