In acest tutorial puteti invata cum sa verificati si sa validati butoane radio si checkbox cu JavaScript.
Ca sa verificati daca un buton radio, sau checkbox e bifat, se foloseste proprietatea checked.
Daca butonul e bifat, proprietatea JavaScript "checked" returneaza true, altfel returneaza false.
if (formular.nume_checkbox.checked == false) alert('Butonul checkbox nu e bifat');formular.buton_radio- Returneaza un array cu toate butoanele radio cu name="buton_radio" din "formular".
var radio_buttons = formular.buton_radio;
var re = false;
// parcurge array-ul cu butoanele radio, daca unul e bifat, face "re" true
for(var i=0; i<radio_buttons.length; i++) {
if (radio_buttons[i] == true) {
re = true;
}
}
// daca "re" false, inseamna ca nici un buton radio nu e bifat
if(re == false) alert('Radio buton nu e bifat');
<h4>Alegeti o leguma si cel putin un fruct</h4>
<form action="" method="post" name="f1" onsubmit="return checkButons(this);">
Legume: <input type="radio" name="leguma" value="varza" />Varza
<input type="radio" name="leguma" value="morcov" />Morcov<br/>
Fructe:<br/>
<input type="checkbox" name="fruct1" value="mar" />Mar<br/>
<input type="checkbox" name="fruct2" value="para" />Para<br/>
<input type="checkbox" name="fruct3" value="banana" />Banana<br/>
<input type="submit" value="Trimite" />
</form>
<script type="text/javascript"><!--
// verifica butoane (radio, checkbox) - www.marplo.net
function checkButons(frm) {
var re = false; // folosita pt a determina cand un buton e bifat
var err = ''; // retine erorile
var legume = frm.leguma; // contine un array cu toate butoanele radio "leguma"
// creaza un Array in format JSon cu butoanele checkbox
var fructe = [frm.fruct1, frm.fruct2, frm.fruct3];
// traverseaza array-ul cu radio
// daca unul e bifat, seteaza "re" true, si opreste parcurgerea cu "break"
for(var i=0; i<legume.length; i++) {
if(legume[i].checked == true) {
re = true;
break;
}
}
// daca "re" e false inseamna ca nici un buton radio nu e bifat, adauga eroare in "err"
if(re == false) err += '- Trebuie sa alegeti o leguma';
// face iar "re" false si parcurge array-ul cu checkbox
// daca unul e bifat, seteaza "re" true, si opreste parcurgerea cu "break"
re = false
for(var i=0; i<fructe.length; i++) {
if(fructe[i].checked == true) {
re = true;
break;
}
}
// daca "re" e false inseamna ca nici un checkbox nu e bifat, adauga eroare in "err"
if (re == false) err += '\n - Trebuie sa alegeti cel putin un fruct';
// daca "err" nu e gol, afiseaza erorile si returneaza False, oprind trimiterea formularului
if(err != "") {
alert(err);
return false;
}
else return re;
}
--></script>
Demo: