1

如果文本框为空,我已经看到很多人禁用按钮的例子,但我还没有找到任何只会禁用某些文本框的按钮的例子。我是 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" />
4

3 回答 3

3

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

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

或者:

if ($("#txtEvent").length > 0) {
    $("#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 代码!这只是一个逻辑上的答案。

于 2013-08-28T02:19:54.903 回答
0

尝试

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

$('#btnSave').prop("disabled", $empties.length === 0);
于 2013-08-28T02:26:23.733 回答
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>

如果我们只需要在 txtBox1 和 txtBox3 都不为空时启用/禁用按钮,那么我们可以使用它

<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>
于 2015-09-25T08:46:44.010 回答