2014-10-05 6 views
-1

Я использовал проверку jquery для проверки моей формы. Я показываю одно сообщение об ошибке, и моя проблема в том, что когда пользователь нажимает кнопку отправки, отображается сообщение, но когда все поля заполнены, сообщение об ошибке не исчезает. Я хочу, чтобы сообщение об ошибке исчезло, когда все поля были заполнены правильно. Вот моя формаУдалить сообщение об ошибке после проверки

<div class="form-group"> 
     <div id="error-bubble" class=" col-xs-10 col-centered" 
    style="display:none;color:red;">Fields Marked Red Are Required</div> 
    </div> 
    <div class="form-group"> 
     <div class="col-xs-10 col-centered"> 
      <form:input type="text" class="form-control" id="inputEmail" placeholder="Your 
    Mob Email" path="emailId" value="${user.emailId}" ></form:input> 
     </div> 
    </div> 
    <div class="form-group"> 

     <div class="col-xs-10 col-centered"> 
      <form:input type="text" class="form-control " id="inputFullName" 
    placeholder="Full Name" path="fullName" name="fullName" value="${user.fullName}"> 
    </form:input> 
     </div> 
    </div> 
    <div class="form-group"> 
     <div class=" col-xs-10 col-centered"> 
      <input type="submit" value="Update"/> 
      <input type="reset" value="Cancel" /> 
     </div> 
    </div> 


and my jquery is 



$("#myform").validate({ 
    rules: { 
     contactNo: { 
     required: true, 
     minlength: 8, 
     maxlength:25 
    }, 
    officeContactNo: { 
      required: true, 
      minlength: 8, 
      maxlength:25 
     }, 
    fullName:{ 
      required:true, 
      minlength:1, 
      maxlength:40 
    }, 
    title:{ 
     required:true 
    }, 
    reportTo:{ 
     required:true 
    }, 
    officeLocation:{ 
     required:true 
    } 
     }, 
     errorPlacement: function() { 

      $('#error-bubble').show(); 
     }, 
     submitHandler: function(form) { 
      if ($(form).valid()) { 
       $('#error-bubble').hide(); 
      form.submit();} 
      return false; // prevent normal form posting 
    } 
}); 
+0

Возможный дубликат [jquery - проверка символов на клавиатуре?] (Http://stackoverflow.com/questions/2812585/jquery-validate-characters-on-keypress) – arjun

+0

Представлена ​​ли форма? – EternalHour

+0

Проверяется в обработчике отправки –

ответ

1

Эй Abhinav Я думаю, вы используете плагин проверки JQuery,

попробуйте добавить следующие свойства .validate():

onfocusout: true, 
onkeyup: true, 

вы даже можете использовать функции здесь, в 'OnKeyUp' событие, как:

onkeyup: function(element, event){ 
    if ($(form).valid()) { $('#error-bubble').hide(); 
    form.submit(); 
} 

или

Попробуйте использовать событие нажатия кнопки вместо:

$('#myform input[type="submit"]').click(function() { 
    if ($(form).valid()) { $('#error-bubble').hide(); 
    form.submit(); 
}); 

это проверят валидации снова на событиях клавиатуры, я думаю, вот что вы ищете

+0

Я поместил скрытую ошибку div, которая показывает, когда проверка не удалась. То, что я пытаюсь достичь, - это когда все поля моих подтверждений заполняются сообщением об ошибке, которое нужно удалить. См. Размещение ошибки в моей проверке выше. Я хочу, чтобы div был скрыт. –

+0

Попробуйте вместо этого использовать событие нажатия кнопки: $ ('#myform input [type = "submit"]') .click (function() { if ($ (form) .valid()) { $ ('# error -bubble '). hide(); form.submit(); }); –

+0

Я сделал это, но это устраняет ошибку при отправке. Я хотел, чтобы он был удален, как только все поля моей формы заполнены. –

2

Проверь это Fiddle

It also handles copy/paste by validating keypress with keyup 

Попытка ввода любого нечислового символа в примере.
Это поможет вам начать работу.

+0

Это то, что я хочу, но я хочу это для всех моих полей. Я имею в виду, так как я показываю только одно сообщение сверху, поэтому, когда все поля заполнены в моей форме, я хочу, чтобы она была удалена автоматически. Как я могу достичь этого вопроса? –

+0

Я не могу разработать полную форму для вас. Изучите код. Это довольно просто. Вам просто нужно включить его для всех ваших входов и объединить уведомление в одном месте. Но будьте осторожны. Javascript не заменяет вашу проверку на стороне сервера. – arjun

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