Показать сообщение отдельно
  #9 (permalink)  
Старый 10.10.2016, 19:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от konsty
Наверно где-то у меня ошибка - сообщение вообще не приходит
У вас вообще в коде масса ошибок и самая главная, это логика серверного кода - не зависимо от проверок будет отправляться почта (если код именно такой).

Само же почтовое отправление так не оформляют и это тоже ошибка.

Диалог с клиентом вообще не понять какой - каждая проверка поля в случае его не заполнения (что у вас проверяется опять таки неверно) возвращает "Заполните поле ", а поле какое?

Исходный код, что вы взяли, написан под HTML5, форма при наличии у ее полей атрибута required не будет отправляться, если такое поле не заполнено. В коде есть валидатор с определенным текстом сообщений в data-error.

Если у клиента браузер без поддержки HTML5 или отключен JS, то в этом случае сервер должен отдавать такие сообщения, но толку от них, если они не конкретизируют где именно ошибка?

А ведь на сервере можно определить ошибки и так:

$err = [
    "name"=>"имени", //.... и т.д.
];


которому будет предшествовать текст "Заполните поле ".

Если отправлять данные таким образом

data: "name=" + name + "&email=" + email + "&password ...

то при каждом новом "добавить еще поля" нужно будет править код. А метод JQ .serialize() как раз и вернет поля формы и их значения как GET параметры - "name=" + name + "&email=" + email + "&password ...
А то что у вас не работает, так это не из-за применения этого метода и от того, что в функцию передается ссылка на форму.

Последний раз редактировалось laimas, 11.10.2016 в 06:01.
Ответить с цитированием