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.

• Pentru a verifica /valilda daca un buton checkbox e bifat este simplu deoarece fiecare input checkbox trebuie sa aibe un nume unic.
Sintaxa:
if (formular.nume_checkbox.checked == false) alert('Butonul checkbox nu e bifat');

• Cand trebuie verificate butoane radio e poutin mai complicat, deoarece mai multe butoane radio au acelasi nume, astfel, JavaScript le retine intr-un array. Formula:
formular.buton_radio
- Returneaza un array cu toate butoanele radio cu name="buton_radio" din "formular".
Ca sa validati butoanele radio, trebuie parcurs acel array, si verificat fiecare element (fiecare buton), precum in codul urmator.
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');

• Mai jos e un exemplu practic, cu un formular ce contine doua butoane radio si trei checkboxes. Utilizatorul trebuie sa bifeze un buton radio (leguma), si cel putin un checkbox (fructe), altfel, cand trimite formularul, functia checkButons() afiseaza mesaj de eroare si returneaza False.
<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) - 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:

Alegeti o leguma si cel putin un fruct

Legume: Varza Morcov
Fructe:
Mar
Para
Banana

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag afiseaza textul oblic?
<strong> <pre> <em>
<p>Cursuri, Jocuri, Anime: <em>www.MarPlo.net</em></p>
Care proprietate CSS defineste spatiul dintre continutul elementului si bordura lui?
margin padding position
h3 {
  padding: 2px 0.2em;
}
Clic pe metoda ce returneaza primul element indicat de selectorii specificati.
getElementsByName() querySelector() querySelectorAll()
// preia primul Div cu class="cls", si afiseaza continutul
var elm = document.querySelector("div.cls");
alert(elm.innerHTML);
Indicati variabila PHP ce contine datele din formular trimise cu method="post".
$_SESSION $_GET $_POST
if(isset($_POST["field"])) {
  echo $_POST["field"];
}
Indicati pronumele corespunzator celui din paranteza in propozitia: "(Noi) speak english".
I They We
We speak english.
- Noi vorbim engleza.
Indicati pronumele corespunzator celui din paranteza in propozitia: "(Noi) hablamos español".
Ellos Vosotros Nosotros
Nosotros hablamos español.
- Noi vorbim spaniola.
Verificare, Validare butoane radio si checkbox cu JavaScript

Last accessed pages

  1. Lucru cu Baza de Date MySQL: Constructor de Comenzi SQL (329)
  2. Curs PHP MySQL, Tutoriale si Scripturi PHP (9984)
  3. Pronumele in limba engleza - Pronouns (16296)
  4. Gramatica limbii engleze - Prezentare Generala (92208)
  5. Tutorial JQuery WebDesign (240)

Popular pages this month

  1. Gramatica limbii engleze - Prezentare Generala (2253)
  2. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (871)
  3. Gramatica limbii spaniole. Indrumator si prezentare generala (718)
  4. Exercitii engleza - English Tests and exercises - Grammar (675)
  5. Alphabet and Pronunciation - Alfabetul si pronuntia in limba engleza (606)