• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czy formularze muszą być w tagach <form> i czy można je zastąpić ajaxem?

0 głosów
335 wizyt
pytanie zadane 7 kwietnia 2016 w HTML i CSS przez ormu16 Gaduła (4,980 p.)
Witam, chcę stworzyć formularz rejestracji i logowania, który będzie walidowany przez javascript. I mam pytanie, czy formularz musi być formularzem od strony kodu html? Chodzi mi o to czy błędem będzie stworzenie kilku inputów i wysłanie ich wartości ajaxem zamiast użycia tagów <form></form> i walidowanie po stronie serwera?

2 odpowiedzi

+4 głosów
odpowiedź 7 kwietnia 2016 przez Comandeer Guru (607,060 p.)
wybrane 7 kwietnia 2016 przez ormu16
 
Najlepsza

Czy wilk w skórze owcy jest owcą? No właśnie…

Tak, tego typu formularze obsługiwać można Ajaksem, ale powinny być formularzami, bo zawsze może się zdarzyć, że JS nie zadziała → http://kryogenix.org/code/browser/everyonehasjs.html

Ogólnie całkowity rozdział HTML od CSS i JS to podstawa dobrej architektury: http://webroad.pl/javascript/746-synchroniczna-asynchronicznosc

No i całość można ładnie spiąć przy pomocy FormData → https://developer.mozilla.org/en/docs/Web/API/FormData

komentarz 7 kwietnia 2016 przez ormu16 Gaduła (4,980 p.)
Dzięki za odpowiedź, ale chciałem jeszcze zapytać o jedno. Jeżeli JS nie zadziała albo użytkownik go wyłączy to formularz i tak się nie wyśle, bo jest wysyłany przez ajax. Oczywiście nie chodzi mi o to, że nie chcę walidować danych po stronie serwera tylko o to czy formularz musi być formularzem po to, żeby mógł być wysłany bez js.
1
komentarz 7 kwietnia 2016 przez Comandeer Guru (607,060 p.)
No ale to jest właśnie błąd, bo Ajaks powinien być drugą warstwą nałożoną na normalnie działający formularz!

Formularze niedziałające bez JS mają sens tylko i wyłącznie w webaplikacjach – i to z rodzaju tych ciężkich.
komentarz 7 kwietnia 2016 przez ormu16 Gaduła (4,980 p.)
Dzięki za wyjaśnienie.
+1 głos
odpowiedź 7 kwietnia 2016 przez writen Nałogowiec (29,060 p.)
Szczerze to nie rozumiem istoty problemu.

Jak chcesz wysyłać formularz AJAXem to najzwyczajniej powinieneś przechwycić zdarzenie "submit" formularza, anulować te zdarzenie, zserializować dane i wysłać. A walidować i tak musisz po stronie serwera.

Formularz powinien być formularzem, a nie jakimiś luźnymi inputami.

Podobne pytania

0 głosów
0 odpowiedzi 123 wizyt
pytanie zadane 29 sierpnia 2016 w JavaScript przez RobsonWD Nowicjusz (220 p.)
–1 głos
3 odpowiedzi 436 wizyt
pytanie zadane 23 grudnia 2018 w JavaScript przez Q7V Gaduła (4,250 p.)
0 głosów
0 odpowiedzi 360 wizyt
pytanie zadane 12 lutego 2020 w JavaScript przez poldeeek Mądrala (5,980 p.)

93,427 zapytań

142,421 odpowiedzi

322,649 komentarzy

62,787 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...