Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> akcja zależna od wyniku walidacji formularza HTML5
php programmer
post 31.07.2012, 07:48:57
Post #1





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


Witam

Mam formularz, który po kliknięciu OK wysyła maila, a więc zanim załaduje się strona z rezultatem to trwa dwie, trzy sekundy.
A więc zrobiłem coś takiego.

  1. <input type="email" name="email" required>
  2. <input type="text" name="nazwa" required>
  3. <input type="submit" value="OK" onClick="ProszeCzekac()">


Gdzie funkcja ProszeCzekac() pokazuje DIVa z napisem "Prosze czekac".
Problem polega na tym, że jeśli ktoś nie poda wymaganego pola to HTML5 nie dopuści do wysłania formularza tylko pokaże chmurkę, że trzeba wypełnić pole.
Oczywiście w takim przypadku nie powinien pojawić się DIV z napisem "Prosze czekac", ponieważ formularz nie został jeszcze wysłany.

No i właśnie moje pytanie.
Jak sprawdzić, czy formularz przeszedł czy nie tzn
jak zrobić żeby funkcja ProszeCzekac() pokazała diva tylko gdy
formularz nie ma błędów?

pozdrawiam

Ten post edytował php programmer 31.07.2012, 08:38:25
Go to the top of the page
+Quote Post
rocktech.pl
post 31.07.2012, 08:20:02
Post #2





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

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


Witam.

Potrzebujesz oprogramować następującą logikę:

1 ) Obserwujesz zdarzenie submit na formularzu i zapobiec wysłaniu
2 ) Wywołujesz funkcje/ obiekt walidacji
a ) true - wyświetlasz div i wysyłasz formularz
b ) false - wyświetlasz informację o błędach walidacji

Zacznij od czystego JS. Proponuję zrobić to z użyciem np. biblioteki Prototype.

[JAVASCRIPT] pobierz, plaintext
  1. var forms = document.getElementsByTagName('form');
  2. forms[1].onsubmit = obsluzFormularz;
  3.  
  4. function obsluzFormularz () {
  5.  
  6. }
[JAVASCRIPT] pobierz, plaintext


Ten post edytował rocktech.pl 31.07.2012, 08:20:32


--------------------
Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore

I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim


Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek
Go to the top of the page
+Quote Post
php programmer
post 31.07.2012, 08:45:05
Post #3





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


Nie, no właśnie nie chce samodzielnie sprawdzać formularza,
chce żeby to robił HTML5, ja chce tylko w js dowiedzieć się czy formularz się zwalidował czy nie.

PS. chyba już wiem, zamiast
  1. <input type="submit value="OK" onClick="ProszeCzekac()" />


robie

  1. <form method="post" onSubmit="ProszeCzekac()">


Ten post edytował php programmer 31.07.2012, 08:56:52
Go to the top of the page
+Quote Post
!*!
post 31.07.2012, 08:51:43
Post #4





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Z tego co wiem to nie ma takiej możliwości jak używasz wyłącznie HTML5. Możesz przez JS prawdzić ich stan jeśli je wcześniej ostylujesz.
  1. input:required:invalid


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
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: 13.06.2025 - 07:34