14.10.2015, 00:03
|
Интересующийся
|
|
Регистрация: 21.09.2015
Сообщений: 17
|
|
Сообщение от laimas
|
Ну я же написал, что перед тем как проверять на сервере, да и на клиенте тоже самое, пуста или нет строка, ее нужно очистить от крайних пробелов, вот так
$_POST = array_map('trim', $_POST); - это нужно добавить в php-код до строки 6, и только после этого проверка
if ($_POST['name'] == "")
и далее.
Ну я же не буду переписывать весь ваш код, чтобы вам ответить по нему скакать приходится, еще и мне повторять.
'Представьтесь, пожалуйста.', 'Как с Вами связаться?', 'Пожалуйста, напишите сообщение' - собственно и достаточно чтобы дать понять пользователю, что поле не заполнено, слать еще с сервера более грозные сообщения нет смысла. Поля сообщений о незаполненных полях имеют id bthrow_error_phone, а значит серверу достаточно вернуть ключи полей в которые на заполнены, и тогда вывод будет следующим, заменить:
строку 39 JS
if (data.errors.name)
на
if (data.errors)
а строку 41
$('.throw_error').fadeIn(1000).html(data.errors.na me);
на
$(data.errors.map(function(n) {
return '#bthrow_error_'+n;
})
.join(','))
.empty()
.fadeIn(1000)
.html('Заполните....');
Ну или оставьте как есть, то есть сервер возвращает сообщения ошибок, только вывод их должен быть в цикле, так как могут быть не заполнены все поля.
Проверять на пустоту поле на клиенте нужно также убирая пробелы крайние:
if($.trim($('#phone').val()) == "") ...
PS. Кодировка указанная для почтового сообщения не затрагивает поле subject, и кому повезет, тот прочтет, а кому нет, получит не читаемое. Кодировать нужно это поле:
mail('xdd24@yandex.ru', '=?utf-8?b?' . base64_encode('Заявка с сайта '.$_SERVER['HTTP_HOST']) . '?=', $message, $headers)
|
учту всё это, спасибо!
но у меня почему то всё перестало работать
буду разбираться
запихнул форму в попап вчера - работала
сегодня в другой попап - перестала...
|