Javascript JS事件未更改输入禁用属性

Javascript JS事件未更改输入禁用属性,javascript,jquery,html,Javascript,Jquery,Html,我目前正在尝试在我的网站上设置注册页面,但我遇到了一个问题: 我的JS脚本的行为与我希望的不一样 这是我的剧本: 和我的html代码: 因此,在我看来,应该在密码不匹配时添加“disabled”属性,并在密码匹配时将其删除,但情况如下: 当密码匹配时,禁用状态将被删除,但如果它们不匹配(例如,如果出于任何原因对其进行了修改),则它们的状态不会再次出现要实现您所描述的功能,请尝试将其稍微更改为: $(“#提交”).attr(“禁用”,真) 及 $(“#提交”).attr(“已禁用”,错误)像

我目前正在尝试在我的网站上设置注册页面,但我遇到了一个问题: 我的JS脚本的行为与我希望的不一样

这是我的剧本:

和我的html代码:


因此,在我看来,应该在密码不匹配时添加“disabled”属性,并在密码匹配时将其删除,但情况如下:


当密码匹配时,禁用状态将被删除,但如果它们不匹配(例如,如果出于任何原因对其进行了修改),则它们的状态不会再次出现

要实现您所描述的功能,请尝试将其稍微更改为:

$(“#提交”).attr(“禁用”,真)


$(“#提交”).attr(“已禁用”,错误)

像AlexGm一样,我建议你试试这个

函数checkPasswordMatch(){
var password=$(“#password”).val();
var confirmPassword=$(“#retypepassword”).val();
//注:==
var noMatch=密码!==确认密码;
if(noMatch){
$(“#通过”).html(“密码不匹配!”);
}否则{
$(“#通过”).html(“密码匹配”);
}
$(“提交”).attr(“禁用”,noMatch);

}
非常感谢,非常感谢您的帮助,一切如期完成!比我试着做的要短和容易,而且很有效,谢谢@Zanmyr很乐意帮忙。
function checkPasswordMatch() {
var password = $("#password").val();
var confirmPassword = $("#retypepassword").val();

if (password != confirmPassword) {
    $("#pass").html("Passwords do not match!");
    $("#submit").attr("disabled");
}
else {
    $("#pass").html("Password match.");
    $("#submit").removeAttr("disabled");
    }
}
$(document).ready(function () {
$("#retypepassword").keyup(checkPasswordMatch);
});