单击文本框后启用提交按钮

Enabling submit button after clicking textbox

本文关键字:提交 按钮 启用 文本 单击      更新时间:2023-09-26

>我有以下代码用于在单击复选框后启用提交按钮。

.HTML:

<input type="checkbox" checked="checked" id="check"><a href="#">terms and conditions</a>
<input type="submit" name="submit" id="post" value="submit">

脚本:

$('#check').click(function(){
if($(this).attr('checked') == false){
     $('#post').attr("disabled","disabled");   
}
else {
    $('#post').removeAttr('disabled');
}
});

但这在我的本地主机中不起作用。即使未选中该复选框,该按钮也始终处于启用状态。请帮助我使其工作。

$('#check').click(function() {
    $('#post').prop('disabled', !$(this).is(':checked'));
}

.attr()检查 HTML 中的属性,而不是 HTML 的当前状态; .is(':checked')测试后者。另外,我认为最好使用 .prop() 来动态更改元素的禁用状态。

如果您选中然后取消选中复选框,它会禁用它吗?如果是这样,那么您只需要将禁用设置为默认状态。

使用.is(':checked')

$('#check').click(function() {
    if(!$(this).is(':checked')) {
        $('#post').attr("disabled","disabled");   
    } else {
        $('#post').removeAttr('disabled');
    }
});

$(this).attr('checked') 将永远为真,它只是读取 "checked" attr 值,

this.checked

$(this).prop('checked')

看到这个: http://jsfiddle.net/m6aBZ/

这是菲尔德勒

这是使用它的javascript

$(function(){
$('#check').click(function(){
    if($(this).attr('checked')!="checked"){
        $("#post").attr("disabled","disabled");
    } else {
        $("#post").removeAttr("disabled");
    }
});
});

很多答案。

不要调用任何表单控件"提交",因为它将隐藏表单的提交方法(即 form.submit将引用控件,而不是方法)。

您所需要的只是以下内容:

<form ...>
  <input type="checkbox" onclick="this.form.submitButton.disabled = !this.checked" ...>
  <input type="submit" name="submitButton" disabled>
</form>