Non sono riuscito a trovare il modo di rendere obbligatori Checkbox e radiobutton.
Come faccio la validazione?
Non sono riuscito a trovare il modo di rendere obbligatori Checkbox e radiobutton.
Come faccio la validazione?
beh, sostanzialmente devi controllare al submit della form se i checkbox che sono richiesti siano checked == true e se tra i radio richiesti, almeno uno sia checked == true
I DON'T Double Click!
ok, fin qui...Originariamente inviato da artorius
beh, sostanzialmente devi controllare al submit della form se i checkbox che sono richiesti siano checked == true e se tra i radio richiesti, almeno uno sia checked == true
Però non riesco a farlo! di solito il controllo dei campi lo faccio con il "getElementById" ma nel caso dei radio essi non possono avere lo stesso ID.
infatti, devi usare getElementsByTagName() che restituisce un array con tutti gli elementi con il tag passato.
fai tipo:
var allInputs = document.getElementByTagName("input");
in allInputs avrai un array con tutti gli input della pagina.
Cerchi poi gli elementi con il nome che devi controllare e, se almeno uno ha checked == true, ritorni true alla form, altrimenti, fai un alert con l'errore e ritorni false, bloccando il submit.
I DON'T Double Click!
Non è che ci ho capito molto.
La validazione è terminata, mi manca solo il gruppo di radiobutton da validare, non voglio rifare tutto da capo solo per quello.
Mi sembra incredibile che non sia riuscito a trovare in giro un codice adatto, nessuno ha mai messo i radio obbligatori? boh.
Mi sa che mi arrendo e metto un select, anche se stilisticamente è meno adatto...![]()
allora, come si chiamano i radio?
metti che si chiamano name="pippo"
basta che fai:
Codice PHP:
var allinput = document.getElementsByTagName('input');
var selected = false;
for(i = 0; i < allinput.length; i++)
{
var inp = allinput[i];
if(inp.type.toLowerCase() == 'radio')
{
if(inp.name == 'pippo' && inp.checked)
selected = true;
}
}
if(!selected)
alert("E' necessario selezionare un elemento di pippo");
I DON'T Double Click!
Beh ormai ho sostituito con un select e dopo 3 giorni che ci lavoro adesso non lo voglio più vedere quel form.
Cmq ti ringrazio, me lo segno nel caso deciderò di riprendere in mano il codice.![]()