首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery验证在所有文件有效时启用表单:对于空文件不显示错误

问jquery验证在所有文件有效时启用表单:对于空文件不显示错误
EN

Stack Overflow用户
提问于 2016-11-08 02:28:23
回答 2查看 43关注 0票数 0

我希望按钮启用,如果所有的领域都是有效的,因为没有按钮启用和禁用的工作很好,但当我移动到下一个领域它突出了所有领域的错误,但我不希望这发生在任何方式来修复它,请指导它的方式。

JS代码:

​

代码语言:javascript
复制
$(document).ready(function() {
  $('input').on('blur', function() {
    if ($("#myform").valid()) {
      $('#submit').prop('disabled', false);
    } else {
      $('#submit').prop('disabled', 'disabled');
    }
  });
  $("#myform").validate();
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.13.1/jquery.validate.js"></script>
<form id="myform">
  <input type="text" id="name2" name="name2" class="required" />
  <br/>
  <input type="text" id="name" name="name" class="required email" />
  <br/>
  <input type="text" id="name1" name="name1" class="required number" />
  <br/>
  <input type="submit" id="submit" disabled="disabled" />
</form>

​

EN

回答 2

Stack Overflow用户

发布于 2016-11-08 02:43:48

在输入结束时,您还必须单击外部,以形成模糊的表单并进行验证。否则它就不能工作了

​

代码语言:javascript
复制
$(document).ready(function() {

    $('input').on('blur', function() {
        if ($("#myform").valid()) {
            $('#submit').prop('disabled', false);  
        } else {
            $('#submit').prop('disabled', 'disabled');
        }
    });

    $("#myform").validate();

});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.validation/1.15.0/jquery.validate.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.validation/1.15.0/additional-methods.min.js"></script>
<form id="myform">
   <input type="text" id="name2" name="name2" class="required"/><br/>
    <input type="text" id="name" name="name" class="required email"/><br/>
    <input type="text" id="name1" name="name1" class="required number"/><br/>
 

    <input type="submit" id="submit" disabled="disabled" />
</form>

​

票数 1
EN

Stack Overflow用户

发布于 2016-11-08 02:32:04

问题是您正在验证整个表单,这将同时验证所有字段。您需要遍历每个输入,并显式检查每个字段以查看它们是否有效。如果它们都有效,则只需启用提交按钮。

代码语言:javascript
复制
$(document).ready(function() {

   $('input').on('blur', function() {
     var allowSubmission = true;
     $("input").each(function() {
        if(!$(this).valid()) 
        {
            allowSubmission = false;
            return false;
        }
    });

    if(allowSubmission)
       $('#submit').prop('disabled', false)
    else
       $('#submit').prop('disabled', true)
  });
});

示例:http://jsfiddle.net/sd88wucL/109/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40472039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档