如果任何输入字段值输入为零,则禁用其他启用

时间:2017-03-31 06:41:51

标签: javascript jquery html css angularjs

我正在尝试实现代码,如果输入的任何输入值为零,则禁用按钮,否则启用。当输入的输入值为零时它工作正常,但在我输入其他值之后,它仍然禁用不启用我正在使用计数器,我总共有近40个文本字段要检查,所以我在每个语句中都使用输入类型。

以下是我实施的小提琴。

6 个答案:

答案 0 :(得分:2)

$(document).ready(
        			function() {


        	 $('input').change(function()  {
        		 
        		// $("input").each(function() {

        			 if($(this).val()==0)
        			 {
               $("#submitBtn").attr("disabled","disabled");
        			 console.log("Disable");
        			 }
        		 else{
                    $("#submitBtn").removeAttr("disabled","disabled");
        			  console.log("Enable");
        		 }
        		

        		 //  });
        		 

        			});
              });
           
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type = 'number' class="inputBox" >
<input type = 'number' class="inputBox" >
<input type = 'number' class="inputBox" >
<input type = 'number' class="inputBox" >
<input type = 'number' class="inputBox" >
<input type = 'number' class="inputBox" >
<input type = 'number' class="inputBox" >
<input type = 'number' class="inputBox" >
        <button id="submitBtn" >Submit</button>

答案 1 :(得分:1)

您需要每次都初始化count value,因为您要检查该值是否为0值的声明。请将其设置为.change()函数中的设置值

$(document).ready(function() {
   $('input').change(function()  {
      var count = 0;
      $("input").each(function() {           
         if($(this).val() == "0")
         {
          count = 1;
         }
       });          

       if(count == 0)
            {

          $("#submitBtn").removeAttr("disabled","disabled");

            }
        else
            {
          $("#submitBtn").attr("disabled","disabled");                          
            }
      });
   });

答案 2 :(得分:0)

纯HTML版本。它不会在按钮上放置一个禁用的属性,但如果您尝试提交表单,如果任何输入的值小于1,则会抛出本机错误。在任何情况下都可以将该min属性放在那里。< / p>

<form>
<input type="number" min="1"/>
  <input type="number" min="1"/>
  <input type="number" min="1"/>
<button type="submit">submit</button>
</form>

答案 3 :(得分:0)

你走了。这适用于多个领域

&#13;
&#13;
root
&#13;
(function() {
    $('form > input').keyup(function() {

        var empty = false;
        $('form > input').each(function() {
            if ($(this).val() == 0) {
                empty = true;
            }
        });

        if (empty) {
            $('#submit').attr('disabled', 'disabled');
        } else {
            $('#submit').removeAttr('disabled');
        }
    });
})()

/* instead of form we can use the IDs of certain fields only. In case not all fields are mandatory */
&#13;
&#13;
&#13;

答案 4 :(得分:0)

在你的小提琴中,你拥有number类型的所有输入。当第一个onchange事件发生时,它会评估所有输入。即使某些输入没有值,因为它们的类型为number,它们的默认值为0.并且您的代码首先工作,因为在第一个onchange事件触发之前您不检查输入。

如果您输入的所有输入字段都是非零值,则可以检查此项,然后应启用您的按钮。如果从其中一个中删除一个值,则应再次禁用它。

答案 5 :(得分:0)

它为我工作: HTML:

<input type="text" class="form-input" id="input" >
<button id="fbtn">Submit</button>

JQuery的:

<script type="text/javascript">
    $('#input').on('keyup',function(){
        var val = $('#input').val();
        if (val == 0) {
            $("#fbtn").attr("disabled","disabled");
        }else{
            $("#fbtn").removeAttr("disabled","disabled");
        }
    });
</script>

您应该为输入字段添加验证。我的意思是只接受号码等。