Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [js] funkcja sprawdz
agataperz
post 25.08.2011, 17:35:17
Post #1





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 24.03.2009
Skąd: Hamburg DE

Ostrzeżenie: (0%)
-----


Witam,

mam pytanie jak zrobic z zapytania poniżej azeby sprawdziło czy a i b są wypelnione lub czy c jest wypełnione

  1. <script type="text/javascript">
  2. function Sprawdz(spr){
  3. y=true;
  4. if(spr.a.value=='' || spr.b.value==''){ komunikat=false; alert('Nie wypełniłeś wymaganych pól'); }
  5. return komunikat;
  6. }
  7. </script>


Z góry dziekuje za pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
peter13135
post 25.08.2011, 17:42:04
Post #2





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


a=='' && b='' || c=''


--------------------
:)
Go to the top of the page
+Quote Post
kamil4u
post 25.08.2011, 17:47:57
Post #3





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Warto jeszcze zadbać o nawiasy - dobry nawyk, żeby później nie zastanawiać się, który operator miał pierwszeństwo - nawet, gdy one nie są potrzebne. Czyli:
Kod
a && b || c  //nie
(a && b) || c // tak


--------------------
Go to the top of the page
+Quote Post
peter13135
post 25.08.2011, 17:54:46
Post #4





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


  1. a && b || c //tak
  2. (a && b) || c // tak


To kwestia gustu. Jeśli programista wie, że koniunkcja ma pierwszeństwo nad alternatywą to nie musi pisać, jeśli nie koniecznie wie, to dać nawiasy nie zaszkodzi.

analogicznie: czy uważasz, że zapis 2+2*2 jest gorszy od 2+(2*2) questionmark.gif


--------------------
:)
Go to the top of the page
+Quote Post
agataperz
post 25.08.2011, 19:28:11
Post #5





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 24.03.2009
Skąd: Hamburg DE

Ostrzeżenie: (0%)
-----


programista wie ale soft nie wie i trzeba mu pokazać tongue.gif

Dzięki chłopaki.
Wersja poprawna o którą mi chodziło to:
  1. (a || b) && c

Nie wiedziałam że w js można korzystać z tych samych warunków co ma sql smile.gif


Nie wiem czemu ale niestety jak ktoś wpisze tylko jedna zmienna (np. imie) i wysle formularz wtedy wyskoczy blad. Jak poprawi to formularz sie nie chce wyslac - jaki może być problem?
Możecie pomóc?
  1. <script type="text/javascript">
  2. function sprawdz(spr){
  3. y=true;
  4. if((spr.zam_imie.value=='' || spr.zam_nazwisko.value=='') && spr.zam_firma.value==''){ komunikat=false; alert('Nie wypełniłeś wszystkich pól'); }
  5. return komunikat;
  6. }
  7. </script>

później
  1. <form id="formularz" action="finalizacja.php" method="post" onsubmit="return sprawdz(this)">


bez tych wierszy wszystko działa poprawnie a jak tylko wpisze to od razu jest problem przy poprawianiu danych. Jeżeli ktos wpisze wszystkie dane poprawnie to dziala. sad.gif

Ten post edytował agataperz 25.08.2011, 19:30:40
Go to the top of the page
+Quote Post
gargamel
post 25.08.2011, 19:33:33
Post #6





Grupa: Zarejestrowani
Postów: 278
Pomógł: 35
Dołączył: 25.06.2010

Ostrzeżenie: (0%)
-----


[JAVASCRIPT] pobierz, plaintext
  1. y=true;
  2. [.....]
  3. komunikat=false;
  4. [.....]
  5. return komunikat;
[JAVASCRIPT] pobierz, plaintext


y to pewnie mialo byc komunikat ?

I swoją drogą - jeśli nie ma potrzeby stosowania zmiennych globalnych wewnątrz funkcji, lepiej stosować zmienne lokalne.
A najprościej to zrobić tak:
[JAVASCRIPT] pobierz, plaintext
  1. <script type="text/javascript">
  2. function sprawdz(spr){
  3. if((spr.zam_imie.value=='' || spr.zam_nazwisko.value=='') && spr.zam_firma.value==''){
  4. alert('Nie wypełniłeś wszystkich pól');
  5. return false;
  6. }
  7. else{
  8. return true;
  9. }
  10. }
  11. </script>
[JAVASCRIPT] pobierz, plaintext


Ten post edytował gargamel 25.08.2011, 19:39:43
Go to the top of the page
+Quote Post
agataperz
post 25.08.2011, 20:00:32
Post #7





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 24.03.2009
Skąd: Hamburg DE

Ostrzeżenie: (0%)
-----


gargamel masz racje smile.gif

jeszcze jedno ostatnie pytanie: Co trzeba wpisać ażeby sprawdził czy przycisk radio jest wciśnięty?
Go to the top of the page
+Quote Post
kamil4u
post 25.08.2011, 20:10:46
Post #8





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


"checked JS" w google


--------------------
Go to the top of the page
+Quote Post
agataperz
post 26.08.2011, 11:58:58
Post #9





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 24.03.2009
Skąd: Hamburg DE

Ostrzeżenie: (0%)
-----


Poszukałam i zaczełam kombinować i wykombinowałam:
  1. <script type="text/javascript">
  2. function sprawdz(spr){
  3. komunikat=true;
  4. if((spr.zam_imie.value=='' || spr.zam_nazwisko.value=='' || spr.platnosc.checked==true ) && spr.zam_firma.value==''){ komunikat=false; alert('Nie wypełniłeś wszystkich pól'); }
  5. return komunikat;
  6. }
  7. </script>

ale niestety nie działa. Co robie źle?

Ten post edytował agataperz 26.08.2011, 12:01:00
Go to the top of the page
+Quote Post
kamil4u
post 26.08.2011, 12:23:19
Post #10





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Pokaż jeszcze kod HTML.
Kod wygląda OK, pewnie zły warunek napisałaś - aby to spr. trzeba mieć kod HTML(fragment z formularzem) smile.gif


--------------------
Go to the top of the page
+Quote Post
agataperz
post 26.08.2011, 12:42:55
Post #11





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 24.03.2009
Skąd: Hamburg DE

Ostrzeżenie: (0%)
-----


  1. <form name="formularz" action="finalizacja.php" method="post" onsubmit="return sprawdz(this)">
  2. <table>
  3. <tr><td align=right>Imię: </td><td><input type=text name=wys_imie size=30></td></tr>
  4. <tr><td align=right>Nazwisko: </td><td><input type=text name=wys_nazwisko size=30></td></tr>
  5. <tr><td align=right>Nazwa firmy: </td><td><input type=text name=wys_firma size=30></td></tr>
  6. <tr><td align=right>Adres: </td><td><input type=text name=wys_adres size=30></td></tr>
  7. <tr><td align=right>Kod pocztowy: </td><td><input type=text id=wys_kod_poczt name=wys_kod_poczt size=30></td></tr>
  8. <tr><td align=right>Miejscowo?ć: </td><td><input type=text name=wys_miejscowosc size=30></td></tr>
  9. <tr><td align=right>Telefon: </td><td><input type=text id=wys_tel name=wys_tel size=30></td></tr>
  10. </table>
  11. <table>
  12. <tr><td align=right>Imię: </td><td><input type=text id=eyescript name=zam_imie size=30></td></tr>
  13. <tr><td align=right>Nazwisko: </td><td><input type=text name=zam_nazwisko size=30></td></tr>
  14. <tr><td align=right>Nazwa firmy: </td><td><input type=text name=zam_firma size=30></td></tr>
  15. <tr><td align=right>Adres: </td><td><input type=text name=zam_adres size=30></td></tr>
  16. <tr><td align=right>Kod pocztowy: </td><td><input type=text id=zam_kod_poczt name=zam_kod_poczt size=30></td></tr>
  17. <tr><td align=right>Miejscowo?ć: </td><td><input type=text name=zam_miejscowosc size=30></td></tr>
  18. <tr><td align=right>Telefon: </td><td><input type=text id=zam_tel name=zam_tel size=30></td></tr>
  19. <tr><td align=right>e-mail: </td><td><input type=text name=zam_mail size=30></td></tr>
  20. <tr><td align=right>Powiadomienie o statusie zamowienia: </td><td><input type="radio" name=powiadomienie value=sms>SMS <input type="radio" name=powiadomienie value=mail>e-mail</td></tr>
  21. </table>
  22. <input type="radio" name=platnosc value=pobranie > Płatno?ć przy odbiorze (+6,00 zł)<br>
  23. <input type="radio" name=platnosc value=online > Platno?ci on-line (+<? echo $t_pro; ?> zł)<br>
  24. <input type="radio" name=platnosc value=przelew > Przelew<br>
  25. </td></tr></table>
  26. <input type=submit value=dalej>


Ten post edytował agataperz 26.08.2011, 12:48:25
Go to the top of the page
+Quote Post
kamil4u
post 26.08.2011, 12:52:40
Post #12





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Musisz stworzyć odpowiedni warunek. Podpowiem, że:
spr.platnosc[0].checked - spr pierwsze radio
spr.platnosc[2].checked - spr trzecie radio


--------------------
Go to the top of the page
+Quote Post
agataperz
post 26.08.2011, 12:56:59
Post #13





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 24.03.2009
Skąd: Hamburg DE

Ostrzeżenie: (0%)
-----


a to nie można sprawdzić jedną komendą wszystkie radio name=platnosc?
Go to the top of the page
+Quote Post
CuteOne
post 26.08.2011, 13:39:04
Post #14





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


[JAVASCRIPT] pobierz, plaintext
  1. var obj = document.formularz.platnosc;
  2. var len = obj.length;
  3.  
  4. for(var i=0; i<len; i++) {
  5.  
  6. if(obj[i].checked) {
  7.  
  8. alert(i);
  9. }
  10. }
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:43