Javascript 确认密码仍显示“确认密码”;密码不匹配";即使密码不匹配

Javascript 确认密码仍显示“确认密码”;密码不匹配";即使密码不匹配,javascript,forms,passwords,Javascript,Forms,Passwords,因此,我创建了一个注册表单,并添加了密码验证,以确保密码和确认密码匹配。这里的想法是,当您最初输入密码时,您会得到一个“密码不匹配” 这是因为您尚未在确认密码输入中重新输入密码。重新输入后,如果匹配,则应显示密码匹配。如果仍然不匹配,则消息仍应显示密码不匹配 我遇到的问题是,当密码最初匹配时,消息不会更改为密码匹配,而是停留在密码不匹配 为了使其匹配,我必须返回密码输入,添加或删除一个字符,然后对确认密码执行相同的操作。我在代码片段中提供了我的代码,以便您可以更好地了解我的解释 有人知道为什么会

因此,我创建了一个注册表单,并添加了密码验证,以确保密码和确认密码匹配。这里的想法是,当您最初输入密码时,您会得到一个“密码不匹配”

这是因为您尚未在确认密码输入中重新输入密码。重新输入后,如果匹配,则应显示密码匹配。如果仍然不匹配,则消息仍应显示密码不匹配

我遇到的问题是,当密码最初匹配时,消息不会更改为密码匹配,而是停留在密码不匹配

为了使其匹配,我必须返回密码输入,添加或删除一个字符,然后对确认密码执行相同的操作。我在代码片段中提供了我的代码,以便您可以更好地了解我的解释

有人知道为什么会这样吗

var passConfirm=function(){
if(document.getElementById(“密码”).value==
document.getElementById(“ConfirmPassword”).value){
document.getElementById(“消息”).style.color=“绿色”;
document.getElementById(“消息”).innerHTML=“密码匹配!”
}否则{
document.getElementById(“消息”).style.color=“红色”;
document.getElementById(“消息”).innerHTML=“密码不匹配!”
}
}

全名
电子邮件
电话号码
密码
确认密码
给我报名!
问题在于,您没有在确认密码输入上添加
onKeyUp
事件。当您添加时,它会起作用。另外,请使用
,不要使用

var passConfirm=function(){
if(document.getElementById(“密码”).value==
document.getElementById(“ConfirmPassword”).value){
document.getElementById(“消息”).style.color=“绿色”;
document.getElementById(“消息”).innerHTML=“密码匹配!”
}否则{
document.getElementById(“消息”).style.color=“红色”;
document.getElementById(“消息”).innerHTML=“密码不匹配!”
}
}

全名
电子邮件
电话号码
密码
确认密码
给我报名!
您已将
onkeyup
事件处理程序仅添加到
密码
输入

您应该跟踪两个密码输入的值更改,以查看它们是否匹配


因此添加
onkeyup='passConfirm();'
to
ConfirmPassword
input将解决此问题。

之所以出现这种情况,是因为您正在对密码输入调用密码确认功能。在确认密码输入时调用该函数。