Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][PHP] Formularz, walidacja, gdy JS wyłaczony.
hejkumkejkum
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 11.11.2007

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


Mam taką zagwozdkę.

Piszę sobie wtyczkę do wordpressa gdzie chciałem zastosować formularz zamówienia. Formularz ten ma walidację przy użyciu javascript, oczywiście przy użyciu PHP również.
Ale problem mam z tym, co będzie gdy ktoś zablokuje javascript. Wówczas po naciśnięciu przycisku wyślij pojawia się "masło maślane", bo submit wywoła plik, którego wywołać poprzez action="skrypt.php" od tak nie powinien.

Chodzi mi o to, ze odwołanie do skryptu przez submit musiałoby być do innego pliku w przypadku działającego javascript, a do innego w przypadku wyłączonego.
Ewentualnie uzależnienie działania przycisku wysyłającego formularz od Javascript.

Nie wiem czy zostanę dobrze zrozumiany.

Jak to się zazwyczaj robi by uniknąć błędów?


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Wysyłając powinieneś do jednej metody, lub przez JS do innej metody która później docelowo i tak przekaże wynik do tej samej metody co formularz bez JS.
Go to the top of the page
+Quote Post
hejkumkejkum
post
Post #3





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 11.11.2007

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


Pyton_000 prosiłbym o jakąś łopatologię bo nie do końca rozumiem.

Może jakiś przykład albo link do przykładu bym mógł to sobie wzrokowo przetrawić.

Nie jestem wielce biegły w programowaniu ale uparty, a chciałbym to zrobić dobrze.


Ten post edytował hejkumkejkum 22.12.2013, 02:06:33
Go to the top of the page
+Quote Post
owca_82
post
Post #4





Grupa: Zarejestrowani
Postów: 77
Pomógł: 8
Dołączył: 22.04.2012

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


Sprawa jest prosta.
W formularzu ustawiasz zdarzenie js onsbmit w którym robisz walidację formularza po stronie przeglądarki a następnie przy pomocy ajaxa uruchamiasz określony skrypt php po stronie serwera który może być różny od tego z atrybutu action formularza. Oczywiście na końcu funkcji obsługującej to zdarzenie musisz dać return false żeby naciśnięcie przycisku wyślij nic nic dało.

Jeżeli js będzie wyłączone to zdarzenie nie "zaskoczy" i po naciśnięciu wyślij w formularzu zostanie wykonany plik podany w action formularza.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 21:02