我有这段代码:
setInterval(function(){
if($("#username_error").val() == "" && $("#password_error").val() == "" && $("#email_error").val() == ""){
$('input[type="submit"]').removeAttr('disabled');
} else {
$('input[type="submit"]').attr('disabled','disabled');
}
}, 10);
如果三个div没有错误,我需要禁用提交按钮。当我运行此代码时,没有任何反应。但是,如果我执行alert()
此if
语句正确运行。我在这里做错了什么?
答案 0 :(得分:1)
这样做:
$('input[type="submit"]').attr('disabled','disabled');
$('input[type="text"]').change(function(){
if($("#username_error").val() == "" && $("#password_error").val() == "" && $("#email_error").val() == "") {
$('input[type="submit"]').removeAttr('disabled');
} else {
$('input[type="submit"]').attr('disabled','disabled');
}
});
<强> DEMO 强>
答案 1 :(得分:0)
使用jQuery keyup事件。
$('input').keyup(function(){
if($("#username_error").val() == "" && $("#password_error").val() == "" && $("#email_error").val() == "") {
$('input[type="submit"]').attr('disabled',true);
} else {
$('input[type="submit"]').attr('disabled', false);
}
});
答案 2 :(得分:0)
另一种解决方案......
$(document).ready(function () {
$('button').attr("disabled", true); // starts disabling the button
$('input').on("blur", null, function () {
if ($("#username_error").val() != "" && $("#password_error").val() != "" && $("#email_error").val() != "") {
$("#botao").attr("disabled", false);
} else {
$("#botao").attr("disabled", true);
}
});
});