2013-07-19 3 views
-1

Я хочу, чтобы дать подтверждение в моих полях формы ..Обязательные поля валидаторов в JQuery

Поля:

  1. Имя (TextBox) -> Если ввести значение. Когда без ввода & выйдет, появится сообщение об ошибке.

  2. Email (регулярное выражение) -> проверка формат почтового

  3. Пол (кнопка радио) -> любой кнопки один радиоприемник должен выбран

  4. Расположение (выпадающее меню) -> без ввода выпадающего меню отобразится сообщение об ошибке

  5. Мобильный телефон (текстовое поле) -> ввести только цифры

выше всех видов проверки, мне нужно.

$('#Email').click(function(){ 
      var name=$('#Name').val(); 
      if(name==""){ 
       $('#Name').after('<div class="red">Name is Required</div>'); 

      } 
      }); 

Но всякий раз, когда я нажимаю адрес электронной почты, отображается сообщение об ошибке. Как это сделать? Пожалуйста помогите? Я попробовал 1-е поля Имя

+1

эй вы делаете щелчок fucntino для электронной почты, но имеет чек на #name ли это вам требуется. если это так, это может происходить 1. Поле имени пустое, 2. Теперь, когда вы нажимаете на поле #Email, тогда проверяется поле #Name. Почему вы не можете использовать плагин jquery.validator.js, он подойдет вашим потребностям. –

+2

Поиск размытых(), selectedIndexChanded() событий и регулярных выражений электронной почты '/^([a-zA-Z0-9_\.\-])+\@((a-a-AAZZ- \.) + ([a-zA-Z0-9] {2,4}) + $/'и искать, как его использовать. – imVJ

ответ

2

Вы не должны делать это на click случае электронной почты текстового поля, но на blur случае имени текстового поля. Событие размывания запускается всякий раз, когда управление теряет фокус. Попробуйте это,

$("#Name").blur(function(){ 
    if(this.val().length == 0){ 
     $(this).after('<div class="red">Name is Required</div>'); 
    } 
}); 

Здесь я проверяю длину значения внутри #Name текстового поля, когда оно теряет фокус . Теперь, когда вы отправляете свою форму, вам нужно будет сделать эту проверку еще раз, когда пользователь нажмет событие нажатия кнопки.

Аналогично проверке поля электронной почты вы будете использовать регулярное выражение, которое @onlyVJ дал.

/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/

Вы получите значение из текстового поля и сопоставить его с регулярным выражением, используя спичку. Follow this link to learn more. Это будет сделан на blur случае #email текстового поля

EDITED -

Я не буду давать вам код, но я буду инструктаж вас на подходе, вы можете использовать.

Для выпадающего списка -

Вы можете прикрепить событие размытия DropDown и проверить ли значение по умолчанию, которое вы проявляете в начале при загрузке страницы все еще выбранное значение. Если это так, покажите ошибку, иначе нет.

Для радиокнопок -

Проверить это jsFiddle. Спрятано от here. Вы должны иметь возможность использовать это, чтобы настроить код для отображения ошибки, если переключатель не установлен.

+0

может у инструктировать меня выпадающего меню и радиокутонов тоже? – PoliDev

+0

@AngDei обновил мой код. –

1

Вам нужно использовать событие размытия, чтобы определить, что элемент потерял фокус. Посетите documentation for blur для получения дополнительной информации и примера.

Если вы хотите, вы также можете попробовать плагин проверки jQuery. Посетите jQuery Validation Plugin website

0

что-то вроде этого ...

$("#element").blur(function(){ 
    $(this).validate({ 
     // your code here 
    }) 
}) 
Смежные вопросы