[ pakito @ 24.01.2007. 13:12 ] @
Na html strani imam formu sa input kontrolama tipa "text" i "radio". Ako korisnik zeli da posalje webmail a da nije popunio neka obavezna text polja, vracam ga sa sledecim kodom u JavaScriptu:

if ( forma.txtControla1.value == "") {
alert('Molimo unesite ....!');
forma.txtControla1.focus();
forma.txtControla1.select();
return false;
}

Ovo radi bez problema. Medjutim, neke odgovore korisnik treba da da cekira.

<INPUT TYPE = "radio" NAME = "txtCekirano" VALUE = "Odgovor1" >
<INPUT TYPE = "radio" NAME = "txtCekirano" VALUE = "Odgovor2" >
<INPUT TYPE = "radio" NAME = "txtCekirano" VALUE = "Odgovor3" >

i zelim da u skladu sa odgovorom, dobije odredjenu instrukciju za dalju akciju. Probao sam ovaj nacin:

if ( forma.txtCekirano.value == "Odgovor2" ) {
alert('Poruka ...!');
return false;
}

ali ne dobijam nikakav odgovor, ovaj kod se prosto igorise!
Pitanje je kako da proverim koje je radio dugme cekirano, i kako da korisnika u skladu sa tim uslovno uputim na neku akciju?
[ bzero @ 24.01.2007. 14:09 ] @
Code:

...
if ( forma.txtCekirano.value == "Odgovor2" ) { 
...


Ne moze ovako da se proveri koji je radio chekiran, jer se vrednost za txtCekirano se dodeljuje tek kod submitovanja forma.
S obzirom da browser prakticno pravi array od radio buttona sa istim imenom, moze da se uradi nesto ovako:

Code:

var obj = document.forms.forma.txtCekirano;
for (var i = 0; i < obj.length; i++) {
    if (obj[i].checked) {
        alert(obj[i].value);
    }
}
[ japan @ 24.01.2007. 14:14 ] @
nemoj se oslanjati na JS proveru validnosti polja forme, nego ih proveri pri procesiranju.
[ pakito @ 24.01.2007. 15:56 ] @
Hvala, b(ura)zero! Evo kako sam konkretno resio zadatak da se ispita koje dugme je cekirao korisnik, i da li je ista uneo u polje komentara kao dopunsko objasnjenje tog izbora :
Code:

var obj = forma.txtCekirano;
for (var i = 0; i < obj.length; i++) {
   if (obj[i].checked && obj[i].value == "Odgovor1" && forma.txfKomentar.value == "") {
        alert('Upisi tekst ... u polje za komentar!');
          forma.txfKomentar.focus();
        forma.txfKomentar.select();
        return false;
    }
   if (obj[i].checked && obj[i].value == "Odgovor3" && forma.txfKomentar.value == "") {
        alert('Opisi ... u polju za komentar!');
          forma.txfKomentar.focus();
        forma.txfKomentar.select();
        return false;
   }
}