Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

provjera checkbox array-a javascript-om

[es] :: Javascript i AJAX :: provjera checkbox array-a javascript-om

[ Pregleda: 3314 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dee_
domagoj horvat
zagreb

Član broj: 73648
Poruke: 98
195.29.5.*

Sajt: www.astro-art.net


Profil

icon provjera checkbox array-a javascript-om18.11.2005. u 17:31 - pre 223 meseci
Imam problem da provjerom da li je ijedan checkbox u array-u model checkiran. forma izgleda ovako:

Code:
<form name="mejl" method="post" action="">
          <input type="checkbox" name="model[]" value="Innova">
          <input type="checkbox" name="model[]" value="Concept">
          <input type="checkbox" name="model[]" value="Moon">
         <input type="checkbox" name="model[]" value="Tecno">
           <input type="checkbox" name="model[]" value="Verona">
          <input type="checkbox" name="model[]" value="Access">
</form>


pokusao sam sa provjerom je li document.mejl.model.lenght > 0 , znaci da provjerim duljinu arraya model, ali mi javlja da objekt nije definiran...i to neovisno o tome je li ista checkirano (sta ne bi trebao bit definiran bar za jedan check?)

dakle, kako da provjerim je li bar jedan checkbox = checked?

tnx!


PS.
svojedobno sam naletio ovdje na forumu, ali vise nikako ne mogu naci.. gdje je neko stavio lijepu shemu kako se javascriptom pozivaju objekti na jednoj stranici...ali da nije imenima, nego kroz ono document.forms[].elements[]... zna li netko mozda gdje je to?



[Ovu poruku je menjao dee_ dana 18.11.2005. u 18:32 GMT+1]
 
Odgovor na temu

bzero
dev null
europe

Član broj: 5907
Poruke: 371
82.117.203.*

Jabber: bzero@elitesecurity.org
Sajt: www.google.com/search?q=b..


Profil

icon Re: provjera checkbox array-a javascript-om18.11.2005. u 18:13 - pre 223 meseci
Code:

for (i = 0; i < document.forms.mejl['model[]'].length; i++) {
    alert(document.forms.mejl['model[]'][i].checked);
}

Never trust an operating system you don't have sources for.
 
Odgovor na temu

dee_
domagoj horvat
zagreb

Član broj: 73648
Poruke: 98
195.29.5.*

Sajt: www.astro-art.net


Profil

icon Re: provjera checkbox array-a javascript-om18.11.2005. u 18:27 - pre 223 meseci
to sa iteracijom i provjerom konkretnih elemenata u model[] znam...

nego sam mislio, postoji li ijedna karakteristika za document.forms.mejl['model[]'] koja je razlicita u slucaju kad su svi unchecked ili kad je bar jedan checked?

zbunilo me ovo sa *.lenght

ja sam mislio da ce bit 0 ako nijedan nije checkiran, ali vidim sad da nije... zbunilo me jer kad ovako postavljene checkboxeve ili radiobuttone ili sta god vec primam u PHPu kroz $_POST, onda dobijem onoliko elemenata arraya model[] koliko ih je bilo checkirano kod submita...

u svakom slucaju, hvala za odgovor!



[Ovu poruku je menjao dee_ dana 18.11.2005. u 19:29 GMT+1]
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.dialup.neobee.net.

Sajt: www.novikorisnik.net


+5 Profil

icon Re: provjera checkbox array-a javascript-om18.11.2005. u 20:55 - pre 223 meseci
document.forms.mejl['model[]'].length

Ako imaš više elemenata formulara koji nose isto ime, DOM je pametan pa automatski od njih kolekciju. Ta kolekcija naravno dobija svojstvo length, a do pojedinačnih elemenata se može doći preko odgovarajućeg indeksa u kolekciji.

Ova pamet nosi jednu zamku. Naime, ako ima samo jedan element nema ni kolekcije - priča se u potpunosti menja - svojstvo length nije definisano a pristup je direktan.

Drugim rečima, adresiranje document.forms.mejl['model[]'] može da predstavlja element formulara ili kolekciju elemenata. Ovo otežava skriptovanje.

Zato je mnogo lakše korišćenje select elementa umesto radio liste, odnosno select multiple elementa umesto grupe checkboxova.

Za ovaj konkretan primer
Code:
<form name="mejl" method="post" action="">
<select name="model[]" multiple="multiple" size="6">
          <option value="Innova">Innova</option>
          <option value="Concept">Concept</option>
          <option value="Moon">Moon</option>
          <option value="Tecno">Tecno</option>
          <option value="Verona">Verona</option>
          <option value="Access">Access</option>
</select>
</form>

Ovako je jednostavno da se utvrdi da li je selektovana bar jedna stavka s liste
Code:
if (document.forms.mejl['model[]'].selectedIndex < 0) alert ('nije ništa selektovano');
else alert ('selektovana je bar jedna opcija');

 
Odgovor na temu

dee_
domagoj horvat
zagreb

Član broj: 73648
Poruke: 98
195.29.5.*

Sajt: www.astro-art.net


Profil

icon Re: provjera checkbox array-a javascript-om20.11.2005. u 12:42 - pre 223 meseci
hvala ti na odgovoru

je, ovo je puno elegantnije rjesenje...ali u konkretnom slucaju ne mogu koristit select jer mi forma mora bit takva da covjek gleda u 6 artikala (slike) i svaki pored sebe ima checkbox koji ukljuci zeli li saznat nesto vise o njemu (forma zapravo kupi zahtjeve o kojim proizvodima covjek hoce dodatne informacije i salje dobiveno na mejl dalje)

tako da bas moram koristit checkboxeve...

ali u svakom slucaju, hvala ti za ovo rjesenje!
 
Odgovor na temu

[es] :: Javascript i AJAX :: provjera checkbox array-a javascript-om

[ Pregleda: 3314 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.