land
14.08.2015, 02:45:02
Przygotowuje prostą miniaplikację do wysyłania maila - formularz kontaktowy. HTML <-> JS/AJAX <-> PHP
Proszę o ocenę, czy kod napisany jest zgodnie ze sztuką.
Demo ma wyłączone wysyłanie maili, z prawdopodobieństwem 1/2 zwraca błąd lub powodzenie wysyłania.
demo,
źródła
Comandeer
14.08.2015, 12:06:55
form nie potrzebuje [role] - jest domyślnie dodawane.
Zawsze przy tego typu formularzach ciekawi mnie jedna rzecz: czemu działają tylko z Ajaksem, skoro przy naprawdę minimalnym nakładzie sił można sprawić, że ten sam skrypt wysyłający obsłuży normalne przesłanie formularza. Ba, wystarczy wsadzić odpowiednie [action] do formularza i będzie działać. Po prostu nie wyświetli ładnego komunikatu.
bobek358
14.08.2015, 13:46:26
I kolejna sprawa jak ktoś wyłączy JS to nic nie zdziałasz, dlatego ja jestem zwolennikiem weryfikacji wstępnej po stronie JS po stronie php takiej już właściwej. Wiem, że jest to uciążliwe, ale ma to swoje zalety, zwłaszcza jeśli jest to prosta firmowa strona, która ma tylko formularz w JS.
Jeśli system jest napchany JS, to nie ma znaczenia bo i tak nic nie zdziałasz.
ZenekN
14.08.2015, 20:16:32
@Comandeer, również jestem zwolennikiem prostych rozwiązań ale te wymagają doświadczenia zawodowego
land
14.08.2015, 21:28:00
Tyle, że większość osób oczekuje ładnego wyglądu i działania. Jak to jest zrobione to nie ma znaczenia. Może być kod spaghetti wraz z echo '<html>…'
Tutaj w przypadku braku standardowej obsługi formularza kierowałem się lenistwem, w końcu trzeba było skończyć i iść spać.
To, że można w przypadku braku włączonego JS wysłać formularz jest błędem. Miało być on ukrywany, ale przez przeoczenie nie zostało to zrobione.
Nie podobają mi się strony całkowicie nie działające bez włączonego JS. Jednak zastanawiam się czy słusznie. Jednak to temat na osobny wątek.
Comandeer
14.08.2015, 21:32:05
Ja oczekuję ładnego wyglądu i działania w browserach A-grade. W lynksie oczekuję, że formularz po prostu będzie działał

W Twoim wypadku dorobienie takiej obsługi to jakieś 10 minut pracy. Odpowiedź skryptu wysyłającego można zróżnicować dzięki nagłówkowi
X-Requested-With. Jeśli jest obecny, dajemy odpowiedź w JSON, jeśli nie - generujemy HTML z szablonu. Cała reszta kodu zostaje bez zmian.
land
19.08.2015, 01:24:02
Dodałem obsługę bez JS i trochę zmieniłem architekturę aplikacji.
Proszę o ponowną ocenę.
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.