Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][JavaScript] Validacja formularzy
owned
post
Post #1





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 27.12.2007

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


Witam!
Jak pogodzić action='.php' z onSubmit ? Można zrobić tak aby najpierw sprawdzone zostały pola przez JS a następnie potem wywołane zostało action='.php' ? Co jeśli użytkownik ma wyłączoną obsługę JS. Prosze o pomoc
Go to the top of the page
+Quote Post
Pawel_W
post
Post #2





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


onsubmit="return validateForm(this)"

jeżeli js wyłączony, a jeżeli nie to wykona się funkcja

w funkcji dajesz return true; jeżeli jest poprawny, jeżeli nie to return false winksmiley.jpg
Go to the top of the page
+Quote Post
vokiel
post
Post #3





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Zasadniczo walidacja formularzy może odbywać się dwojako - po stronie przeglądarki -js oraz po stronie serwera - skrypt php.
Polecam wykonywanie jej w obu przypadkach. Sprawdzanie po stronie przeglądarki daje wiele plusów, jednak można w nią zaingerować, zatem koniecznością jest tak czy inaczej sprawdzenie poprawności po stronie skryptu php.

Domyślnie najpierw wywołuje się sprawdzanie po stronie przeglądarki (ponieważ strona działa właśnie w przeglądarce), następnie przeglądarka (po poprawnym zweryfikowaniu formularza) przesyła go do skryptu php, w którym następuje ponowne sprawdzenie.

Jeśli użytkownik ma wyłączone js (2-3% ?) to sprawdzanie po stronie przeglądarki nie zadziała, dlatego tak ważne jest sprawdzanie po stronie serwera - tego nie da się od strony użytkownika wyłączyć.

Pozdrawiam


--------------------
Go to the top of the page
+Quote Post
owned
post
Post #4





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 27.12.2007

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


Cytat(Pawel_W @ 24.08.2009, 22:33:54 ) *
onsubmit="return validateForm(this)"

jeżeli js wyłączony, a jeżeli nie to wykona się funkcja

w funkcji dajesz return true; jeżeli jest poprawny, jeżeli nie to return false winksmiley.jpg


To action='.php' tez mam zamieszczać ? Mógłbyś mi pokazać strukturę <form> ? Prosiłbym o wyjaśnienie tej funkcji na jakimś przykładzie.
Go to the top of the page
+Quote Post
Pawel_W
post
Post #5





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


robisz normalny formularz i po prostu doklejasz do niego zdarzenie onsubmit winksmiley.jpg
Go to the top of the page
+Quote Post
owned
post
Post #6





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 27.12.2007

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


Cytat(Pawel_W @ 24.08.2009, 22:33:54 ) *
w funkcji dajesz return true; jeżeli jest poprawny, jeżeli nie to return false winksmiley.jpg


Chodzi mi o przykład tego sposobu smile.gif
Go to the top of the page
+Quote Post
Pawel_W
post
Post #7





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


  1. <script type="text/javascript">
  2. function validateForm(obj)
  3. {
  4. if(costam)
  5. return true;
  6. else
  7. return false;
  8. }
  9. <form action="jakis_plik" method="post" onsubmit="return validateForm(this)">
  10. // formularz
  11. </form>


if(costam) to oczywiście jakiś warunek, zależy co chcesz sprawdzać winksmiley.jpg
Go to the top of the page
+Quote Post
owned
post
Post #8





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 27.12.2007

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


Nie działa. Przeładowana jest strona do action='.php' i tyle.
Go to the top of the page
+Quote Post
Pawel_W
post
Post #9





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


no to może pokażesz swój skrypt?
Go to the top of the page
+Quote Post
owned
post
Post #10





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 27.12.2007

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


[PHP] pobierz, plaintext
  1. <script type="text/javascript">
  2. var imie_nazwisko = document.forms ['formularz'].imie_nazwisko.value;
  3. //no i tutaj Twoja funkcja gdzie if(imie_nazwisko==''){...
  4. </script>
  5. <form name="formularz" action="index.php" method="post" onsubmit="return validateForm(this);">
  6. <input type="text" name="imie_nazwisko"/>
  7. <input type="submit" value="Wyślij"/>
  8. </form>
[PHP] pobierz, plaintext

Chcę po prostu sprawdzić java scriptem przed przeładowaniem strony do index.php, czy pole jest puste.

Ten post edytował owned 24.08.2009, 22:48:28
Go to the top of the page
+Quote Post
vokiel
post
Post #11





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


  1. <script type="text/javascript">
  2. function validateForm(form){
  3. var imie_nazwisko = document.forms ['formularz'].imie_nazwisko.value;
  4. if (imie_nazwisko.length<5){
  5. return false;
  6. }else{
  7. return true;
  8. }
  9. }
  10. <form name="formularz" action="index.php" method="post" onsubmit="return validateForm(this);">
  11. <input type="text" name="imie_nazwisko"/>
  12. <input type="submit" value="Wyślij"/>
  13. </form>


--------------------
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 Aktualny czas: 19.08.2025 - 18:37