当删除一个字段文本时,jquery是否禁用该按钮?

时间:2013-12-02 07:57:10

标签: jquery

假设我有两个输入文本字段和一个像这样的表单中的提交按钮

<input type="text" name="name" id="name" />
<input type="text" name="email" id="email" />
<input type="submit" id="submit />

现在我希望当两个输入字段都输入一些值时,提交按钮将起作用,否则它将处于禁用模式。所以我为此制作了像这样的jQuery代码

<script type="text/javascript">
  jQuery(document).ready(function() {
    jQuery('submit').prop("disabled",true);
    jQuery("#name, #email").on('keyup',function() {
      var namevalue = jQuery('#name').val().length;
      var emailvalue = jQuery('#email').val().length;
      if(namevalue > 0 && emailvalue > 0) {
        jQuery('#submit').removeAttr("disabled");
      }
    });
  });
</script>

现在这个第一次正在进行一些扩展。如果有人在两个字段中输入了一些文本,并且根据代码,现在激活提交按钮。假设有人通过使用删除或退格按钮从任何一个字段或两个字段中删除了文本,然后该按钮仍处于活动模式。我希望如果有人从任何字段或这两个字段中完全删除了文本,那么按钮应该处于禁用模式。有人可以告诉我怎么做吗?任何帮助和建议都会非常明显。感谢

3 个答案:

答案 0 :(得分:1)

其他块上的disabled按钮

  if(namevalue > 0 && emailvalue > 0) {
    jQuery('#submit').removeAttr("disabled");
  }else{
     jQuery('#submit').prop("disabled", true);
  }

上述陈述可以使用

进行简化
  jQuery('#submit').prop("disabled", !(namevalue > 0 && emailvalue > 0));

此外,在您的代码jQuery('submit').prop("disabled",true);中,您错过了#

答案 1 :(得分:0)

您必须在else条件中添加if

  if(namevalue > 0 && emailvalue > 0) {
    jQuery('[type="submit"]').prop("disabled",false);
  }else{
   jQuery('[type="submit"]').prop("disabled",true);
  }

fiddle

答案 2 :(得分:0)

注意:HTML标记上缺少双引号

您的密码:<input type="submit" id="submit />

纠正:<input type="submit" id="submit" />

这是:http://jsfiddle.net/bkNxH/

$("#name, #email").keyup(function() {

    var name = $.trim($("#name").val());
    var email = $.trim($("#email").val());

    if(name != '' && email != '') {
        $('#submit').removeAttr('disabled');
    } else {
        $('#submit').attr('disabled', 'disabled');
    }

});