Il seguente codice :
propone 3 righe con rispettivamente un campo testo e due radiobutton mutualmente esclusivi.codice:<html> <head> <script language="javascript" type="text/javascript"> function verificaCampi(aForm) { for(i=1;i<=3;i++) { var valoreTB = document.getElementById("datariga"+i).value; var nameTB = document.getElementById("datariga"+i).name; var selezRB1 = document.getElementById("scelta100riga"+i).checked; var nameRB1 = document.getElementById("scelta100riga"+i).name; var selezRB2 = document.getElementById("scelta50riga"+i).checked; if ((valoreTB == "") && (selezRB1) && (!selezRB2)) { alert("Riga "+i+": Se selezionato 100 o 50, allora bisogna selezionare anche il campo testuale"); aForm.nameTB.focus(); return false; } else { if ((valoreTB == "") && (!selezRB1) && (selezRB2)) { alert("Riga "+i+": Se selezionato 100 o 50, allora bisogna selezionare anche il campo testuale"); aForm.nameRB1[0].focus(); return false; } else { if ((valoreTB != "") && (!selezRB1) && (!selezRB2)) { alert("Riga "+i+": Se selezionato il campo testuale, allora bisogna selezionare anche uno tra 100 o 50"); aForm.nameRB1[0].focus(); return false; } else { if ((valoreTB == "") && (!selezRB1) && (!selezRB2)) { alert("Riga "+i+": Occorre valorizzare uno tra campo testuale, 100 o 50"); aForm.nameTB.focus(); return false; } } } } } alert("Tutto OK!!!"); } </script> </head> <body> <form name="prova" action="" method="post" onSubmit="return verificaCampi(document.prova);"> <input type="text" value="" name="dataInizio1" id="datariga1"> <input type="radio" value="100" name="scelta1" id="scelta100riga1">100 <input type="radio" value="50" name="scelta1" id="scelta50riga1">50 <input type="text" value="" name="dataInizio2" id="datariga2"> <input type="radio" value="100" name="scelta2" id="scelta100riga2">100 <input type="radio" value="50" name="scelta2" id="scelta50riga2">50 <input type="text" value="" name="dataInizio3" id="datariga3"> <input type="radio" value="100" name="scelta3" id="scelta100riga3">100 <input type="radio" value="50" name="scelta3" id="scelta50riga3">50 <input type="submit" value="conferma" name="conferma"> </form> </body> </html>
Il mio scopo è quello di rendere obbligatoria la valorizzazione delle informazioni, per ciascuna riga.
Il problema è che i controlli sembrano funzionare tutti correttamente, ma dopo gli alert (a seconda del controllo che scatta), non viene eseguito il focus(); ovvero il cursore non si posiziona nel campo della riga su cui è richiesta la valorizzazione.
Cosa sbaglio, perchè ciò non avviene?
Grazie anticipatamente.![]()

Rispondi quotando