я тут в HTML напутал, вот это будет, так ведь?
<h2>Обратная связь</h2> <div class="comment"></div> <form method="post" id="form-feedback"> <input type="text" placeholder="Ваше имя" name="name" id="name" class="input_text"/> <div id="bthrow_error_name"></div> <input type="text" placeholder="Контактный телефон" name="phone" id="phone" class="input_text"/> <div id="bthrow_error_phone"></div> <input type="text" placeholder="Ваше сообщение" name="mesg" id="mesg" class="input_text"/> <div id="bthrow_error_mesg"></div> <input class="button" type="submit" value="Отправить заявку" /> <div class="throw_error"></div> </form> |
Ну я же написал, что перед тем как проверять на сервере, да и на клиенте тоже самое, пуста или нет строка, ее нужно очистить от крайних пробелов, вот так
$_POST = array_map('trim', $_POST); - это нужно добавить в php-код до строки 6, и только после этого проверка if ($_POST['name'] == "") и далее. Ну я же не буду переписывать весь ваш код, чтобы вам ответить по нему скакать приходится, еще и мне повторять. 'Представьтесь, пожалуйста.', 'Как с Вами связаться?', 'Пожалуйста, напишите сообщение' - собственно и достаточно чтобы дать понять пользователю, что поле не заполнено, слать еще с сервера более грозные сообщения нет смысла. Поля сообщений о незаполненных полях имеют id bthrow_error_phone, а значит серверу достаточно вернуть ключи полей в которые на заполнены, и тогда вывод будет следующим, заменить: строку 39 JS if ( на if (data.errors) а строку 41 на $(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) |
Цитата:
но у меня почему то всё перестало работать буду разбираться запихнул форму в попап вчера - работала сегодня в другой попап - перестала... |
Зачем вы цитируете полностью то, что я пишу, вы думаете я страдаю склерозом? :)
Цитата:
Вот тут я пас - в какие попапы вы пихаете мне неведомо, где конкретно заменить строку я пишу, но многое это как можно было бы сделать, и если делать, то сперва надо понять как работает, иначе и не будет, если как есть впихнуть. Например, если не возвращает сервер сообщения об ошибках, и оно будет одно и тоже у не заполненных полей, и определяемое клиентом, как я написал, то нужно еще и управлять таким сообщением. Эти сообщения должны исчезать, если соответствующее поле получило фокус. При отправке формы и пустых полях клиент опять будет выводить сообщения, но которые у вас определены в условиях. |
в любом случае, спасибо большое за разъяснения
буду разбираться |
Часовой пояс GMT +3, время: 02:26. |