我想实现一些jQuery的,基本上说:“如果这个文本字段填入然后禁用提交按钮,这样的形式不能发送/提交”禁用表单提交按钮,如果文本字段填写
所以到目前为止,我想出了这一点,但它不工作
当我填写表格,包括我不应该仍然得到提交表单字段中的文本,我在做什么错?
谢谢
我想实现一些jQuery的,基本上说:“如果这个文本字段填入然后禁用提交按钮,这样的形式不能发送/提交”禁用表单提交按钮,如果文本字段填写
所以到目前为止,我想出了这一点,但它不工作
当我填写表格,包括我不应该仍然得到提交表单字段中的文本,我在做什么错?
谢谢
您的代码只在运行时运行一次。之后,它不会再被检查。
$(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);
});
});
这将工作的隐藏领域? – Richlewis 2013-02-11 13:54:19
当输入为空时,将其扩展为重新启用提交按钮可能是一个好主意。 – thomasfedb 2013-02-11 13:54:49
已更新它@thomasfedb – jeroenvisser101 2013-02-11 13:56:10
我建议你在用户进入东西#inputValue
领域绑定一个keyup
事件每次做检查:
$(document).ready(function() {
$("#inputValue").on("keyup", function() {
$("input[type=submit]").prop("disabled", !!$.trim(this.value).length);
}).trigger("keyup");
});
请尝试使用此代码。
$('input[type=submit]').attr("disabled", true);
你实际上没有解决问题。 – 2013-02-11 16:29:48
由于您使用的是hidden
场可能会更好的change
绑定事件:
$('#inputValue').on('change', function() {
$('input[type="submit"]').prop('disabled', this.value.length > 0);
}).change();
感谢您的回答,尽管我仍然可以发送电子邮件,因此无法工作 – Richlewis 2013-02-11 14:03:45
我的经验说,它应该是反过来的:如果文本字段为空* *,那么提交按钮被禁用。 – VisioN 2013-02-11 13:51:59
不需要在这里,该字段是隐藏的,所以如果它是由一个机器人填充,然后我不想提交表格 – Richlewis 2013-02-11 13:53:05
这仍然没有任何意义。通常包含隐藏表单字段的要点是用于将_some_值与表单一起传输。你确定你想完全空?如果是这样,那么为什么要把它放在第一位呢? – aroth 2013-02-11 13:54:15