Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 13.10.2015, 23:16
Интересующийся
Отправить личное сообщение для markfostel Посмотреть профиль Найти все сообщения от markfostel
 
Регистрация: 21.09.2015
Сообщений: 17

я тут в 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>
Ответить с цитированием
  #12 (permalink)  
Старый 13.10.2015, 23:39
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Ну я же написал, что перед тем как проверять на сервере, да и на клиенте тоже самое, пуста или нет строка, ее нужно очистить от крайних пробелов, вот так

$_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)

Последний раз редактировалось laimas, 13.10.2015 в 23:49.
Ответить с цитированием
  #13 (permalink)  
Старый 14.10.2015, 00:03
Интересующийся
Отправить личное сообщение для markfostel Посмотреть профиль Найти все сообщения от markfostel
 
Регистрация: 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)
учту всё это, спасибо!

но у меня почему то всё перестало работать
буду разбираться
запихнул форму в попап вчера - работала
сегодня в другой попап - перестала...
Ответить с цитированием
  #14 (permalink)  
Старый 14.10.2015, 00:17
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Зачем вы цитируете полностью то, что я пишу, вы думаете я страдаю склерозом?

Сообщение от markfostel
запихнул форму в попап вчера - работала
сегодня в другой попап - перестала

Вот тут я пас - в какие попапы вы пихаете мне неведомо, где конкретно заменить строку я пишу, но многое это как можно было бы сделать, и если делать, то сперва надо понять как работает, иначе и не будет, если как есть впихнуть. Например, если не возвращает сервер сообщения об ошибках, и оно будет одно и тоже у не заполненных полей, и определяемое клиентом, как я написал, то нужно еще и управлять таким сообщением. Эти сообщения должны исчезать, если соответствующее поле получило фокус. При отправке формы и пустых полях клиент опять будет выводить сообщения, но которые у вас определены в условиях.
Ответить с цитированием
  #15 (permalink)  
Старый 14.10.2015, 00:29
Интересующийся
Отправить личное сообщение для markfostel Посмотреть профиль Найти все сообщения от markfostel
 
Регистрация: 21.09.2015
Сообщений: 17

в любом случае, спасибо большое за разъяснения
буду разбираться
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь - форма обратной связи со скачиванием файла Baton1777 Общие вопросы Javascript 3 24.05.2015 02:21
Смена кнопки в форме обратной связи xavibeat Общие вопросы Javascript 6 10.05.2014 04:57
Открытие нужной вкладки на форме обратной связи user999 AJAX и COMET 17 26.02.2014 19:02
Форма обратной связи с аттачем 2х изображений. Джейн Работа 2 04.11.2011 00:19
Форма отправки сообщения в скрипте отдельного окна I-love_Chicago Элементы интерфейса 10 30.08.2009 23:16