Сообщение от konsty
|
Наверно где-то у меня ошибка - сообщение вообще не приходит
|
У вас вообще в коде масса ошибок и самая главная, это логика серверного кода - не зависимо от проверок будет отправляться почта (если код именно такой).
Само же почтовое отправление так не оформляют и это тоже ошибка.
Диалог с клиентом вообще не понять какой - каждая проверка поля в случае его не заполнения (что у вас проверяется опять таки неверно) возвращает "Заполните поле ", а поле какое?
Исходный код, что вы взяли, написан под HTML5, форма при наличии у ее полей атрибута required не будет отправляться, если такое поле не заполнено. В коде есть валидатор с определенным текстом сообщений в data-error.
Если у клиента браузер без поддержки HTML5 или отключен JS, то в этом случае сервер должен отдавать такие сообщения, но толку от них, если они не конкретизируют где именно ошибка?
А ведь на сервере можно определить ошибки и так:
$err = [
"name"=>"имени", //.... и т.д.
];
которому будет предшествовать текст "Заполните поле ".
Если отправлять данные таким образом
data: "name=" + name + "&email=" + email + "&password ...
то при каждом новом "добавить еще поля" нужно будет править код. А метод JQ .serialize() как раз и вернет поля формы и их значения как GET параметры - "name=" + name + "&email=" + email + "&password ...
А то что у вас не работает, так это не из-за применения этого метода и от того, что в функцию передается ссылка на форму.