![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 13.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
juz 3 godziny czytam posty dot. radio i walidacji
stworzyłem coś takiego i nie działa i już nie wiem DLACZEGO (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) może macie jakieś pomysły?
to co chcę: jeśli zadna z opcji (1,2) w r1 nie zaznaczona to alert jeśli zadna z opcji (1,2) w r2 nie zaznaczona to alert i oczywiście nie puszcza submita |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Musisz inaczej sprawdzać czy radio jest checked, bo na początku przyjmuje on wartość undefined a nie false.
Kod function sprawdz(){ if(!document.formularz.r1.checked) { alert("wypelnij formularz r1"); return false; } if(!document.formularz.r2.checked) { alert("wypelnij formularz r2"); return false; } return true; }
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 13.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
no coś nie halo...
teraz nie ważne czy zaznaczone czy nie to wywala, ze nie zaznaczone i tylko dla r1 BTW czy dalo by sie zrobic ze jak np. mam na stronie 5 radio (r1, r2, r3, r4, r5) to sprawdza wszystkie na raz i wypisuje JEDEN komunikat, ze np. 1, 3 i 5 sa nie zaznaczone? gdzies spotkałem się z czym takim jak .GetElementByName lub Get ElementById lub cos podobnego (teraz nie pamietam) bede wdzieczny za pomoc |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
No masz rację (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Pośpieszyłem się z tym postem. To co napisałem jest troche bez sensu.
Problem jest taki że pole pole radio jest tablicą z ilością elementów taką jak ilość pól do zaznaczenia, więc trzeba to sprawdzać w pętli, ale zawsze jest tak że jedno pole będzie miało właściwość checkded na true a reszta na false. Sposób sprawdzenia tego będzie troche zamotany. Tu masz przykład dla dwóch elementów radio, może coś sensownego sklecisz z tego (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Kod function check(chk){
res=chk.length; for(var i=0;i<chk.length;i++){ if(chk[i].checked==true){ res--; } } f(chk.length==res){ return false; }else{ return true; } } function sprawdz(){ var r1 = document.formularz.r1; var r2 = document.formularz.r2; var unc = new Array(check(r1),check(r2)); var str=""; for(var i=0;i<unc.length;i++){ if(unc[i]==false){ str+="r"+(i+1)+" "; } } str+="nie zaznaczone"; if(str!="nie zaznaczone"){ alert(str); return false; } return true; } Ten post edytował revyag 11.06.2005, 13:22:13 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 13.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
działa, jest okej (za drugim podejściem) bo nie zauwazyłem literów kolegi revyag-a
w funkcji check zamiast "f" ma byś oczywiście "if" jeszcze raz dzięki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) BTW znalazłem też wczoraj całą klasę w JS do sprawdzania formularzy, ale jej zasotoswanie przerasta moje mozliwości (w dziedzinie JS oczywiście) mimo wszytko dzięki za wysiłek, może komuś innemu się to przyda http://webcoder.info/downloads/validate.html Ten post edytował bpawlik 11.06.2005, 19:29:54 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 00:54 |