Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery如果某些文本框';s为空,禁用按钮_Javascript_Jquery_.net - Fatal编程技术网

Javascript JQuery如果某些文本框';s为空,禁用按钮

Javascript JQuery如果某些文本框';s为空,禁用按钮,javascript,jquery,.net,Javascript,Jquery,.net,我见过很多人在文本框为空的情况下禁用按钮的例子,但我没有发现任何人只会在某些文本框中禁用按钮。我是Jquery新手,我知道它是伪代码的,但你可以理解。我必须调用哪个Jquery函数,以便它不断地进行检查?如何在if子句中使用or语句来确定任何文本框字段是否为空 if( $('#txtEvent').val.length === 0 || $("#txtID").val.length === 0) { $('#btnSave').attr("disabled", "disabled");

我见过很多人在文本框为空的情况下禁用按钮的例子,但我没有发现任何人只会在某些文本框中禁用按钮。我是Jquery新手,我知道它是伪代码的,但你可以理解。我必须调用哪个Jquery函数,以便它不断地进行检查?如何在if子句中使用or语句来确定任何文本框字段是否为空

if( $('#txtEvent').val.length === 0 || $("#txtID").val.length === 0)
 {
  $('#btnSave').attr("disabled", "disabled");
 }
else 
 {
  $('#btnSave').attr("enabled", "enabled");
 }
窗体控件

 <asp:TextBox ID="txtEvent" runat="server"></asp:TextBox>
< asp:TextBox ID="txtID" runat="server"></asp:TextBox>
<asp:Button ID="btnSave" runat="server"" Text="Save and Next" />



您可以通过两种不同的方式进行:

if (!$("#txtEvent").val()) { //undefined will yield false
//call a method! .val() not .val
    $("#btnSave").attr("disabled", "disabled");
} else {
    $("#btnSave").attr("enabled", "enabled");
}
或:

如果您希望这些功能持续运行,请将其包装在:

$("#txtEvent").on("change", function() { //code });
//using the onchange event will trigger the code whenever the txtbox changes.
//you can also use onblur if you want it to trigger AFTER the txtbox loses focus
请注意,您必须将这些转换为正确的asp代码!这只是一个逻辑上的答案。

试试看

var $empties = $('#txtEvent, #txtID').filter(function(){
    return $.trim($(this).val()).length == 0
})

$('#btnSave').prop("disabled", $empties.length === 0);

尽管这是一个两年前的问题,但我想展示另一种使用
bind
的方法。请参阅文本
'keyup mouseup cut paste'

如果您剪切粘贴文本以及键盘输入,这也会起作用。如果我们单击文本框中的小十字清除文本(使用
mouseup
),这也会起作用

OP声明禁用“仅某些文本框”的按钮。 假设我们有以下文本框

<input type="text" name="tbox1" id="txtbox1" />
<input type="text" name="tbox2" id="txtbox2" />
<input type="text" name="tbox3" id="txtbox3" />
<input type="text" name="tbox4" id="txtbox4" />
<input type="submit" id="btnSubmit" name="button" value="Save and Next" disabled />

如果需要根据输入到txtBox1或txtBox3的值启用/禁用按钮,则可以使用此选项

<script>
  $(document).ready(function() {

      $("#txtbox1, #txtbox3").bind('keyup mouseup cut paste', function () {
          var txt = $(this);
          setTimeout(function () {
              $('#btnSubmit').prop('disabled', $(txt).val() == ''); 
           }, 100);
      });
  });
</script>
<script>
  $(document).ready(function() {
      $("#txtbox1, #txtbox3").bind('keyup mouseup cut paste', function () {
         setTimeout(function () {
             ($('#txtbox1').val() && $('#txtbox3').val()) ? $('#btnSubmit').prop('disabled', false) : $('#btnSubmit').prop('disabled', true);
         }, 100);
      });
  });
</script>

$(文档).ready(函数(){
$(“#txtbox1,#txtbox3”).bind('keyup mouseup cut paste',function(){
var txt=$(此);
setTimeout(函数(){
$('btnSubmit').prop('disabled',$(txt.val()='');
}, 100);
});
});
如果仅当txtBox1和txtBox3都不为空时才需要启用/禁用按钮,则可以使用此选项

<script>
  $(document).ready(function() {

      $("#txtbox1, #txtbox3").bind('keyup mouseup cut paste', function () {
          var txt = $(this);
          setTimeout(function () {
              $('#btnSubmit').prop('disabled', $(txt).val() == ''); 
           }, 100);
      });
  });
</script>
<script>
  $(document).ready(function() {
      $("#txtbox1, #txtbox3").bind('keyup mouseup cut paste', function () {
         setTimeout(function () {
             ($('#txtbox1').val() && $('#txtbox3').val()) ? $('#btnSubmit').prop('disabled', false) : $('#btnSubmit').prop('disabled', true);
         }, 100);
      });
  });
</script>

$(文档).ready(函数(){
$(“#txtbox1,#txtbox3”).bind('keyup mouseup cut paste',function(){
setTimeout(函数(){
($('txtbox1').val()&&$('txtbox3').val())?$('btnSubmit').prop('disabled',false):$('btnSubmit').prop('disabled',true);
}, 100);
});
});

.val()
而不是
.val
如果页面中只有这两个输入,则可以使用
$('input:text:empty')).length>0
如果有两个以上的文本框,那么您可能希望向所有这些文本框添加一个类,该类可以用作带有@Aruns solutionok的JQUERY选择器非常感谢您的输入,如何检查多个文本框是否为空,并在更改时返回多个功能使用jquery,您可以通过在ID或类选择器之间添加逗号来选择多个文本框。根据这些条件,禁用任何功能。如果每次禁用不同的按钮,可能会有很多if语句,如果不禁用,可以使用多个jquery选择器在1中完成。