2016-11-07 4 views
1

У меня есть проверка jQuery для полей ввода. Но похоже, не работает :(Проверка jQuery не работает для полей ввода

$('form') 
.submit(function() { 

    var name = $.trim($('#TxtName').val()); 
    var dob = $.trim($('#TxtDesig').val()); 
    var salary = $.trim($('#TxtSalary').val()); 

    if (name === "" || dob === "" || salary ==="") { 
     alert("All fields are mandatory"); 
    } 
    return false; 
}); 

Вот мой HTML форма:

<form class="form-group" method="post"> 
     <label class="control-label">Employee Name:</label> 
      <input class="form-control" type="text" id="TxtName" name="EmployeeName" value="" /><br /> 
     <label class="control-label">Designation:</label> 
      <input class="form-control" type="text" id="TxtDesig" name="Designation" value="" /><br /> 
     <label class="control-label">Salary:</label> 
      <input class="form-control" type="date" id="TxtSalary" name="Salary" value=""/><br/> 
+1

«Не работает» не является полезным заявление. Что происходит? Ошибки консоли? – mplungjan

+0

использовать 'event.preventDefault();' в вашей функции '.submit' –

+1

Вероятно, вы хотите изменить' $ ('form'). Submit (function() {'to' $ ('form'). Submit (функция (e) {'и добавьте' e.preventDefault() 'когда при ошибке – mplungjan

ответ

1

Вот как код вашей проверки JQuery.

Мне нужно, чтобы показать его в скрипке, так как stacksnippet не позволяет форме представить

https://jsfiddle.net/mplungjan/n6mcyf6x/

$(function() { 
    $('form').on("submit", function(e) { 
    var name = $.trim($('#TxtName').val()); 
    var dob = $.trim($('#TxtDesig').val()); 
    var salary = $.trim($('#TxtSalary').val()); 
    if (name === "" || dob === "" || salary === "") { 
     alert("All fields are mandatory"); 
     e.preventDefault(); 
    } 
    }); 
}); 

Как отметила Rhys Брэдбери альтернатива является добавление «обязательным» для каждого поля.
Он может, однако, не поддерживается старыми браузерами (IE, как < 10), например)

http://caniuse.com/#feat=form-validation

+0

К сожалению, это тоже не работает. Я попробую использовать атрибут «required», но не уверен, разрешено ли мне это делать, потому что у меня очень мало идея о том, какие браузеры используют для использования нашими конечными пользователями. – izengod

+0

Да, это работает. Нажмите jsfiddle, чтобы увидеть, как это работает. – mplungjan

+0

oops, не знаю, почему не работает на моей странице :(Я использую следующие импорты: fine? izengod

2

Почему это в JQuery Почему бы не использовать HTML required атрибут формы входов

ссылка: http://www.w3schools.com/jsref/prop_text_required.asp

пример:

<input placeholder="required a value here please" required/>

FYI это HTML5

+1

Да JQuery? HTML' required' проще. –

+0

Из-за IE8/9 и т. Д. Http://caniuse.com/#feat=form-validation – mplungjan

0

можно проверить с помощью двухэтапного процесса.

процесс 1: добавить следующие атрибуты в проверенные элементы управления как один, который я редактировал из вашего источника. Самый простой способ отдыха будет зависеть от механизма проверки jQuery.

<input class="form-control" type="text" id="TxtName" name="EmployeeName" value="" required='' data-msg-required='Please provide name.'/> 

Процесс 2: Если вам нужна ваша контролируемая проверка, вам необходимо написать часть кода следующим образом.

$("#form").validate({ 
    rules:{ //Validation rules work on name attribute 
     EmployeeName:{ //Condition Area 
       required:true 
     } 
    }, 
    messages:{ //user information area 
     EmployeeName: 
     { 
      required:"Please provide Employee Name" /// Message to user for required fields 
     } 
    } 

}); 

Вы получаете больше информации от JQuery Сайт

Смежные вопросы