php, java
статьи, книги
рефераты, ГДЗ

Бесплатные ключи и сброс
пробной версии для Касперского

Все для cs 1.6

Самые лучшие сеты моделей и избранные подборки девушек

Воскресенье, 19 Янв 2025, 08:03:58

Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Меню сайта

ФИЗИКА!!! NEW!!!

Русский!!! NEW!!!

Категории раздела
Дизайну, графика и баннеры [17]
Советы, примеры, уроки, заметки по дизайну, графике и баннерам
PHP - примеры скриптов [21]
PHP - примеры скриптов
Программирование и заработок [114]
Программирование на самых популярных языках, заметки о заработке, оболочки
Статьи по поисковой оптимизации [9]
Статьи по поисковой оптимизации
php и базы данных [14]
Хитрости при программировании php, заметки по базам данных
Заработок в Интернете [7]
Материалы по заработку в интернет

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная » Статьи » Статьи по Web дизайну » Программирование и заработок

Проверка полей формы с помощью JavaScript
 

Посетители сайта — это наше всё. Их надо холить, лелеять, заботиться о них. А еще им нельзя доверять… Чтобы сайт не взломали, всегда и везде необходимо проверять введенные пользователем данные. Делать это лучше на сервере соответствующими средствами.

Проверка клиентским JavaScript легко обходится отключением js в браузере и предназначена она не для борьбы со злоумышленниками, а для помощи тем, кто случайно допустил ошибку. Тоже очень благородное занятие :)

Приближаться к высокому идеалу удобного веб-сайта мы будем на примере формы отзыва на e-mail.

<form name="mailer" id="mailer" action="/mail.php" method="post" onsubmit="return checkmailform();">
  E-mail отправителя:<br /> <input type="text" name="mailsender" id="mailsender" /><br />
  Текст письма:<br /> <textarea name="mailtext" id="mailtext" cols="35" rows="5"></textarea><br />
  <input type="submit" value="Отправить" />
</form>

Форма состоит из полей ввода e-mail отправителя и текста сообщения и кнопки отправки данных серверному скрипту mail.php. Для формы и полей данных в атрибутах id и name (они идентичны, name используется для обратной совместимости) указаны уникальные имена, которыми мы будем оперировать в программе на JavaScript.

С помощью события документа (action) onsubmit, возникающего при отправке формы, мы вызываем JavaScript функцию, которая и отвечает за проверку введенных пользователем данных.

function checkmailform()
{
  if ( (document.forms.mailer.mailsender.value == null) (document.forms.mailer.mailsender.value.length < 7) )
  {
    alert("Заполните поле: E-mail отправителя");
    document.forms.mailer.mailsender.focus();
    return false;
  }
  if (! (/^\w+[-_\.]*\w+@\w+-?\w+\.[a-z]{2,4}$/.test(document.forms.mailer.mailsender.value)) )
  {
    alert("Введите правильный e-mail адрес");
    document.forms.mailer.mailsender.focus();
    return false;
  }      
  if ( (document.forms.mailer.mailtext.value == null) (document.forms.mailer.mailtext.value.length < 10) )
  {
    alert("Заполните поле: Текст письма");
    document.forms.mailer.mailtext.focus();
    return false;
  }
  return true;
}

К данным XHTML-формы мы обращаемся в следующем формате: документ.все_формы.имя_формы(у нас это name="mailer").имя_поля. Добавление «.value» дает нам текст внутри указанного по имени элемента формы, а «.value.length» — длину этого текста в символах.

Функция делает 3 проверки:

  1. Введен ли вообще текст в поле «E-mail отправителя» и не меньше ли он 7 символов.
  2. Регулярным выражением проверяет, является ли адрес отправителя правильным e-mail адресом: имя@домен.зонадомена.
  3. Введен ли текст сообщения и не меньше ли он 10 символов.

Если хотя бы одна из проверок не пройдена, работа скрипта останавливается, отправка данных формы на сервер отменяется, пользователь получает сообщение с ошибкой, а курсор клавиатуры помещается в поле формы, вызвавшее ошибку. Если проблем не обнаружено, JavaScript не мешает отправке данных на сервер.

Категория: Программирование и заработок | Добавил: ceg (08 Авг 2007) | Автор: linuxcenter.ru
Просмотров: 342 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа

Реклама

Поиск

Друзья сайта
  • Играете в Counter-Strike??? ВАМ СЮДА!!!

  • Copyright CEG © 2025