Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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

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 如果填写了文本字段,则禁用表单提交按钮_Javascript_Jquery_Validation - Fatal编程技术网

Javascript 如果填写了文本字段,则禁用表单提交按钮

Javascript 如果填写了文本字段,则禁用表单提交按钮,javascript,jquery,validation,Javascript,Jquery,Validation,我正在尝试实现一些Jquery,基本上是这样说的:“如果这个文本字段被填充,那么就禁用submit按钮,这样表单就不能被传递/提交。” 到目前为止,我已经想出了这个,但它不工作 $(document).ready(function(){ $this = $("#inputValue"); if($this.val().length>0){ $('input[type=submit]').attr('disabled', 'disabled'); } }); 当我填写表格并在字段

我正在尝试实现一些Jquery,基本上是这样说的:“如果这个文本字段被填充,那么就禁用submit按钮,这样表单就不能被传递/提交。”

到目前为止,我已经想出了这个,但它不工作

$(document).ready(function(){
$this = $("#inputValue");
 if($this.val().length>0){ 
$('input[type=submit]').attr('disabled', 'disabled');
 }  
});
当我填写表格并在字段中包含文本时,我不认为表格仍然被提交,我做错了什么


谢谢

您的代码在运行时只运行一次。在那之后,它不会再被检查

$(document).ready(function (){
  $("#inputValue").on('change', function (){
    if($(this).val().length > 0){
      $('input[type=submit]').attr('disabled', 'disabled');
    } else {
      $('input[type=submit]').removeAttr('disabled');
    }
  });
});
或者,正如@thomasfedb所建议的:

$(document).ready(function (){
  $('#inputValue').on('change', function() {
    $("input[type=submit]").prop('disabled', $(this).val().length > 0);
  });
});

您的代码在运行时只运行一次。在那之后,它不会再被检查

$(document).ready(function (){
  $("#inputValue").on('change', function (){
    if($(this).val().length > 0){
      $('input[type=submit]').attr('disabled', 'disabled');
    } else {
      $('input[type=submit]').removeAttr('disabled');
    }
  });
});
或者,正如@thomasfedb所建议的:

$(document).ready(function (){
  $('#inputValue').on('change', function() {
    $("input[type=submit]").prop('disabled', $(this).val().length > 0);
  });
});
我建议您在用户每次输入内容到
#inputValue
字段时绑定一个事件进行检查:

$(document).ready(function() {
    $("#inputValue").on("keyup", function() {
        $("input[type=submit]").prop("disabled", !!$.trim(this.value).length);
    }).trigger("keyup");
});
我建议您在用户每次输入内容到
#inputValue
字段时绑定一个事件进行检查:

$(document).ready(function() {
    $("#inputValue").on("keyup", function() {
        $("input[type=submit]").prop("disabled", !!$.trim(this.value).length);
    }).trigger("keyup");
});
尝试使用此代码

$('input[type=submit]').attr("disabled", true);
尝试使用此代码

$('input[type=submit]').attr("disabled", true);

由于您使用的是
隐藏
字段,因此最好绑定
更改
事件:

$('#inputValue').on('change', function() {
  $('input[type="submit"]').prop('disabled', this.value.length > 0);
}).change();

由于您使用的是
隐藏
字段,因此最好绑定
更改
事件:

$('#inputValue').on('change', function() {
  $('input[type="submit"]').prop('disabled', this.value.length > 0);
}).change();


我的经验是,反之亦然:如果文本字段为空,则“提交”按钮被禁用。此处不需要,该字段是隐藏的,因此,如果它由机器人填充,则我不希望表单提交,这仍然没有意义。通常,包含隐藏表单字段的目的是用来传递表单中的某些值。您确定要将其完全清空吗?如果是的话,那么为什么要把它放在第一位呢?是的,这就是为什么我把If length>0放在这里,或者这是错误的吗?我的经验表明,它应该是相反的:如果文本字段为空,那么submit按钮被禁用。这里不需要,该文件是隐藏的,因此,如果它是由机器人填充的,例如,那么我不希望提交的表单仍然没有真正意义。通常,包含隐藏表单字段的目的是用来传递表单中的某些值。您确定要将其完全清空吗?如果是这样的话,那为什么还要把它放在第一位呢?是的,这就是为什么我把If length>0放在这里,或者这是错误的吗?如果输入为空,那么扩展它来重新启用提交按钮可能是一个好主意。这样做会更整洁些。
$('input[type=submit]').prop(“disabled”,$(this.val().length>0)
。如果输入错误,@thomasfedb修复了它,重试请重试已重试,仍向我发送邮件,它无法验证字段长度是否大于0您是否尝试了这两种解决方案?如果是这样,请创建一个JSFIDLE来重新创建您遇到的问题。最好扩展此功能,以便在输入为空时重新启用“提交”按钮。执行
$('input[type=submit]').prop(“disabled”,$(this.val().length>0)
。如果输入错误,@thomasfedb修复了它,请重试,仍然向我发送邮件,这不是验证字段长度是否大于0您是否尝试了这两种解决方案?如果是这样,请创建一个JSFIDLE来重新创建您遇到的问题。谢谢您的回答,尽管我仍然可以发送电子邮件,所以不工作。谢谢您的回答。尽管我仍然可以发送电子邮件,但是不工作。您还没有真正解决所问的问题。您还没有真正解决所问的问题。