【问题标题】:jQuery validate doesn't validate an input on keyup until it has lost focus oncejQuery validate 不会验证 keyup 上的输入,直到它失去焦点一次
【发布时间】:2012-01-20 09:51:10
【问题描述】:

我有一个使用jQuery validation 进行验证的表单。这非常有效,但是,我的表单始终包含默认值:

<input type="text" value="0" name="myname" class="required number error">

当用户第一次更改输入框中的值时,在输入失去焦点之前不会进行验证。在第一次之后,输入中的任何 keyup / change 事件都将导致验证。

如何强制验证始终发生在 keyup / change 上,而不是在初始更改之后。

【问题讨论】:

    标签: javascript jquery validation jquery-validate


    【解决方案1】:

    使用“onkeypress”事件代替“onchange”事件。

    【讨论】:

      【解决方案2】:

      .validate()函数之后试试这个块:

      $('input').keyup(function(){
          if(!$(this).valid()){
              return false;
          }
      });
      

      【讨论】:

        【解决方案3】:

        你能把你的js部分用于validate()初始化吗?

        你有没有尝试过类似的东西

        $('#your_form input').keyUp(function () {
          $(this).parents('form').validate();
        });
        

        【讨论】:

          【解决方案4】:

          作为快速回答,将$('#yourForm input, #yourForm select').live('keyup change', function(e) { }) 监听器放入您的表单,然后检查是否是第一次输入受到影响,然后通过$('#yourForm").validate(); 强制验证它

          【讨论】:

            猜你喜欢
            • 2018-02-05
            • 2019-12-19
            • 1970-01-01
            • 2017-09-17
            • 1970-01-01
            • 2021-10-27
            • 2019-07-21
            • 2011-05-04
            • 1970-01-01
            相关资源
            最近更新 更多