hejkumkejkum
21.12.2013, 23:28:52
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?
Pyton_000
21.12.2013, 23:33:16
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.
hejkumkejkum
22.12.2013, 00:12:42
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.
owca_82
22.12.2013, 22:47:45
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.