2015-12-05 2 views
0

Я использую jQuery Validator для проверки формы, и я хотел отключить поля, которые были пустыми, когда пользователь нажимает кнопку отправки, чтобы сервер не получал никаких данные с входных данных, которые остались пустыми. Чтобы отключить их, я использовал следующий Javascript:повторно включить вход после того, как он был отключен через javascript, потому что он был пустым

$(function() { 
    $("#form1").submit(function() { 
     $(this).find(":input").filter(function(){ return !this.value; }).attr("disabled", "disabled"); 
    return true; // ensure form still submits 
    }); 
}); 

Вот моя проблема: Этот код прекрасно работает если предположить, что форма была утверждена на первом представлении. Однако, если пользователь нажимает «Отправить», но он не был проверен, все предупреждения для разных обязательных полей и такое всплывающее окно, но все входы отключены. Как я могу это исправить? Мне нужно знать, как их повторно включить, если форма не проверена и не отправлена ​​должным образом.

ответ

0

Не имеет смысла отключать поле для отправки. Скорее всего, вы должны сначала выполнить проверку только на интерфейсе, которая предотвращает отправку, если есть пустые поля (и эти поля необходимы, чтобы они не были пустыми).

Вы можете настроить переменную (или функцию) для выполнения вашей проверки и только отправить, если она вернет true. Это сжатый пример всего одного входа.

var validate = ($('input').val() == '') ? false : true; 

if(validate){ 
    // submit your form 
} else { 
    // throw your errors 
} 

Тогда было бы хорошо очистить свои ошибки в начале вашей проверки.

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