Formular javascript kontrola

Programovacie jazyky, rady, poradňa...
jorg22
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1087
Registrovaný: 12 aug 2006, 20:39
Kontaktovať používateľa:

Formular javascript kontrola

Príspevok od používateľa jorg22 »

Cafte cez javascript kontrolujem tymto sposobom ci je zadana nejaka hodnota v inpute:

Kód: Vybrať všetko

 if (!document.formular.email_1.value){alert("Nezadali ste e-mail");document.formular.email_1.focus();return false;}
ale dinamicky v javascripte vytvaram dalsie polozky kde sa v ich mene pripocitava cislo tymto sposobom:

Kód: Vybrať všetko

email_1
email_2
email_3
...
..
.
ako zabezpecim aby sa kontrolovali aj tieto novo vytvorene polozky?
thx
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Nastav tam aj atribút id a potom použi funkciu getElementById(). Môžeš to dať do nejakého cyklu a ak sa taký element nenájde, tak ten cyklus ukončíš.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

prečo im dávaš rôzne mená? iba si to tým komplikuješ. Ak by mali rovnaké meno (najlepšie email[] ) tak máš jednoduché spracovanie v php lebo to budeš mať pekne v poli, a ošetrenie cez js bude tiež jednoduché. Iba si ich všetky dáš do pola ( getElementsByName('email[]') ). Prejdeš takto každý prvok takéhoto pola a ak je chybný tak aj focus naň lahko dáš, lebo naň budeš mať smerník.
jorg22
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1087
Registrovaný: 12 aug 2006, 20:39
Kontaktovať používateľa:

Príspevok od používateľa jorg22 »

nechapem, ked dam nazov email[], tak sa mi to automaticky v PHP nacita do pola?A do zatvorok [] mam dat cislo?Hodil by sa nejaky priklad.

//edit:
asi to uz chapem, ale neviem ako v javascripte dostat hodnotu value, skusal som taketo nieco ale to mi nefunguje:

Kód: Vybrať všetko

  var vyska=document.getElementsByName('vyska[1]');
  alert(vyska.value);
Alebo som skusal dat do cyklu

Kód: Vybrať všetko

document.formular.email[i].value
kde i sa pricitavalo ale to tiez neslo.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

v tých hranatých zátvorkach nebude žiaden index. V php to budeš mať v poli email a iba si cez cyklus spracuješ kažú hodnotu. Použiješ napríklad foreach

v js si to načítaš všetky elementy s tým menom do pola a potom ich postupne všetky spracuješ (to isté ako php, len js asi nemá foreach)

Kód: Vybrať všetko

  var vyska=document.getElementsByName('vyska[]');  //teraz mam všetky potrebné edity v poli vyska
  alert(vyska[1].value);  //vypíšem ktorý potrebujem
alert(vyska[3].value);
alert(vyska[2].value);
//edit: ehm, teraz vidím že kombinuješ výška aj email.. neviem ktoré konkrétne ti nejde, ale postup je taký ako som písal
jorg22
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1087
Registrovaný: 12 aug 2006, 20:39
Kontaktovať používateľa:

Príspevok od používateľa jorg22 »

thx javascript mi uz ide :) , ale v PHP neviem ako mam nacitat do pola tie hodnoty, mam napisat normalne

Kód: Vybrať všetko

$email = $_POST['email[]'];
?

//edit: Aha uz mi to ide :D takto:

Kód: Vybrať všetko

$email = $_POST['email'];
dik moc fakt si mi pomohol.
Napísať odpoveď