|
Организовываем проверку формы во время ее заполненияБывало ли с Вами такое: Вы заполняете длинную форму, вроде бы все нормально, пытаетесь ее отправить и при отправке оказывается, что Вы где-то ошиблись. Теперь Вам нужно снова заполнять все поля формы из-за одной ошибки. Лично я в таких ситуациях начинаю сильно нервничать. Поэтому сегодня поговорим о том, как сделать, чтобы форма проверялась уже во время заполнения. ![]() ![]() Верификация (процедура проверки правильности ввода информации) формы на стороне клиента помогает выявлять ошибки заполнения полей формы еще до начала ее отправки не сервер, что несомненно является очень удобной штукой (особенно если Ваша форма достаточно длинная, а пользователи ресурса немного нервные). Однако, сразу хочу сделать оговорку, что верификация на стороне клиента никоем образом не освобождает Вас от верификации на стороне сервера (это для Вашего же блага). В идеале – используйте и ту и другую. Проверка формы во время ее заполнения
1. Начнем мы, как обычно, с создания html-файла, в котором и пропишем код нашей формы. Я создам относительно длинную форму, в которой будут присутствовать различные поля, а также чекбоксы и радиокнопки. Делаю это для того, чтобы показать, как можно проверять разные типы информации. Регистрация
Здесь каждый элемент формы заключен в отдельный тег div, будь то текстовое поле для ввода, блок радиокнопок, блок чекбоксов и т.д. Все остальное должно быть Вам понятно, если Вы когда-либо создавали формы в html.
После этого моя страничка будет выглядеть вот так: 4. Переходим в созданный нами файл «form.js» и пропишем там следующий код:
Этими строчками мы говорим, что нужно подождать пока загрузиться документ, потом выбираем нашу форму по идентификатору и применяем плагин для верификации.
А если мы оставим поле имени пустым и нажмем на кнопу «Отправить», то увидим следующее:
Здесь ошибка будет появляться если пользователь не ввел дату, либо ввел ее в неверном формате.
Если теперь мы попробуем ввести в форму электронный адрес неверного формата или не ввести его вообще, то увидим разные сообщения ошибок.
Если Вы попробуете отправить форму сейчас, намеренно допустив ошибку, то теперь увидите сообщение на русском языке, которое Вы сами и установили.
Теперь, если мы проверим нашу страницу, заведомо введя не удовлетворяющие условиям данные, то увидим соответствующие сообщения.
А вот и результаты наших трудов:
Если мы ничего не отметим, то увидим сообщение об ошибке (сейчас оно выглядеть некрасиво, но скоро мы это поправим).
Этот код проверяет, является ли элемент радиокнопкой или чекбоксом и, если является, то сообщения об ошибках помещаются в конец элемента, содержащего данный чекбокс или радиокнопку.
А вот и результат:
Вывод данных из базы MySQL в обратном порядке Как зарегистрировать сайт в поисковых системах Галерея изображений на Ваш сайт (jQuery) Понравилась статья? Поделись с друзьями! Будьте в курсе новых публикаций на Блоге! Комментарии к этой статье: Комментарий добавил(а): Админ Всегда пожалуйста. Пользуйтесь на здоровье :) Комментарий добавил(а): Юрий Здравствуйте, Анна! Меня волнует один вопрос (может быть Вы мне поможите?): Есть форма PHP, есть обработчик формы, в котором вывод на экран текста "Сообщение отправлено успешно!". Вот вырезка кода: /* Выше результат вывода формы */ if ($result) { echo "<p><strong>Сообщение отправлено успешно!</strong></p>"; } else { echo "<p><strong>Сообщение НЕ отправлено!</strong></p>"; } Есть страничка с красиво оформленным сообщением, что оно успешно отправлено (и с картинкой) - thanks.html. Как сделать, чтобы на экран выводилось не текстовое сообщение (echo "<p><strong>Сообщение отправлено успешно!</strong></p>";), а содержимое страницы (или файла) thanks.html ? Объясните, пожалуйста. Юрий. Комментарий добавил(а): Админ Здравствуйте, Юрий! Никаких тегов (типа body, либо каких-то других) в файле до функции быть не должно, иначе функция header не сработает - будут выдаваться ошибки.Это ее особенность (хотя, я думаю Вам эти теги в файле-обработчике и так не нужны, но все-таки решила предупредить). Комментарий добавил(а): Юрий Спасибо Бооольшое, Анна! Все получилось!!! Заработало! А то я уже 2 дня бился над этим, никак не мог найти, как это сделать, и в интернете искал, и на форумах, и в справочниках... А ведь один раз, помню, мимо этой функции проходил, но в объяснениях, верно, ничего не понял... Еще раз Большое Вам Спасибо за помощь! Юрий. Комментарий добавил(а): Админ Всегда пожалуйста. Рада, что у Вас все получилось Комментарий добавил(а): Юрий Здравствуйте, Анна! У меня еще один вопрос завис еще прежде вышеизложенного. У формы есть 2 кнопки: одна - "Отправить", другая - "Сбросить". С первой все ясно: ее можно заменить на красивую кнопку-изображение. А нельзя ли также сделать и "Сбросить", как красивую кнопку, чтобы ее функция сброса осталась? У меня не получается! Юрий. Комментарий добавил(а): Админ Здравствуйте еще раз, Юрий! Комментарий добавил(а): Юрий Кнопка появилась, сбрасывает, но вокруг нее какая-то рамка с фоном, которая никак не убирается ничем. Наводишь на нее мышкой, фон меняет цвет, а мышь не превращается в "руку". На кнопке "Отправить" этого нет. Вот такие эффекты: одна кнопка без лишней рамки, а другая с рамкой, которая не нужна, чтобы они были одинаковые..... Юрий. Комментарий добавил(а): Юрий Анна! Все работает. Я нашел, как убрать рамку и фон в ней. Спасибо за помощь! Юрий. Комментарий добавил(а): Админ Всегда пожалуйста! Обращайтесь. Комментарий добавил(а): Сергей Анна, здравствуйте. У меня вопрос по /class="date required"/ каким образом можно изменить форму ввода хх/хх/хххх на хх.хх.хххх и возможноли создать маску на дату. О! как. Комментарий добавил(а): Владимир Подскажите, а где настроить электронную почту, на которую отправляется форма? Добавить Комментарий: |
|
Copyright © WebSite-Create.ru, 2013-2016 | Все права защищены |
Комментарий добавил(а): Олеся
Дата: 2014-02-27
Большое спасибо за подробное объяснение. Попробую применить при создании своего сайта.