Javascript 在表单上填写密码时,我的注册按钮消失

Javascript 在表单上填写密码时,我的注册按钮消失,javascript,forms,validation,Javascript,Forms,Validation,这是一个由两部分组成的问题 第一部分。我目前拥有的passConfirm功能用于确保密码和确认密码值匹配。现在,当我输入密码时,按钮消失了。此功能的目的是在用户创建密码并确认密码时显示一条消息,说明密码是否匹配。根据我的代码,有人知道为什么会这样吗 第二部分。有没有办法重构我的passConfirm函数?我尝试将其添加到validateForm函数中(请参阅注释代码以了解我的示例)。这不管用 函数打印错误(elemId,消息){ document.getElementById(elemId.i

这是一个由两部分组成的问题

第一部分。我目前拥有的
passConfirm
功能用于确保密码和确认密码值匹配。现在,当我输入密码时,按钮消失了。此功能的目的是在用户创建密码并确认密码时显示一条消息,说明密码是否匹配。根据我的代码,有人知道为什么会这样吗

第二部分。有没有办法重构我的
passConfirm
函数?我尝试将其添加到
validateForm
函数中(请参阅注释代码以了解我的示例)。这不管用

函数打印错误(elemId,消息){
document.getElementById(elemId.innerHTML=message;
}
函数validateForm(){
event.preventDefault();
var name=document.regForm.FullName.value;
var email=document.regForm.email.value;
var phone=document.regForm.phone.value;
var password=document.regForm.password.value;
var confirmPassword=document.regForm.confirmPassword.value;
常量phoneno=/^\(?([0-9]{3})\)?[-.]([0-9]{3})[-.]?([0-9]{4})$/;
var namererror=emailError=phoneError=passwordError=true;
//空名称输入错误消息
如果(名称==“”){
printError(“nameError”,“请输入您的姓名”)
}
//空电子邮件输入错误消息
如果(电子邮件==“”){
printError(“emailError”,“请输入有效电子邮件”)
}
//空电话输入错误信息
如果(电话==“”){
打印错误(“电话错误”,“请输入您的电话号码”)
}
//无效电话号码错误消息
if(phone.match(phoneno)){
返回true;
}否则{
打印错误(“电话错误”,“请输入有效的电话号码”)
}
//空密码输入
如果(密码==“”){
printError(“passwordError”,“请输入密码”)
}
//空的Cofirm密码输入
如果(confirmPassword==“”){
打印错误(“确认密码”、“请确认密码”)
}
//我尝试重构passConfirm函数并将其添加到这里。
//if(password.match(confirmPassword)){
//打印通行证(“匹配密码”、“密码匹配”)
//document.getElementById(“匹配密码”).style.color=“绿色”;
//}否则{
//printPass(“匹配密码”,“密码不匹配”)
//document.getElementById(“匹配密码”).style.color=“红色”;
//}
};
var passConfirm=函数(){
如果(document.getElementById(“密码”).value==document.getElementById(“ConfirmPassword”).value){
document.getElementById(“匹配密码”).style.color=“绿色”
document.getElementById(“匹配密码”).style.fontwweight=“重型”
document.getElementById(“匹配密码”).innerHTML=“密码匹配!”
}否则{
document.getElementById(“匹配密码”).style.color=“红色”
document.getElementById(“匹配密码”).style.fontwweight=“重型”
document.getElementById(“匹配密码”).innerHTML=“密码不匹配!”
} 
}
字段集{
宽度:420px;
高度:950px;
}
你好,请注册!
全名
电子邮件
电话号码
密码
确认密码
给我报名!
您的按钮将消失,因为您使用InnerHTML方法显示消息,该方法将覆盖该消息。虽然在按enter键时密码匹配后,逻辑工作正常,但您丢失了按钮元素。最好使用单独的div或段落标记来显示消息,并保持按钮的原样,因为它是表单的一部分

这是找你的零钱,你可以试试

<span id="matchingPassword">
              <button type="submit" value="submit">Sign Me Up!</button></span>
              <p id="message"></p>
        </fieldset>

var passConfirm = function() {  
  if (document.getElementById("Password").value ==    document.getElementById("ConfirmPassword").value) {   
    document.getElementById("message").style.color = "green";   
    document.getElementById("message").style.fontWeight = "Heavy";   
    document.getElementById("message").innerHTML = "Passwords match!"  
  } else {   
    document.getElementById("message").style.color = "red";   
    document.getElementById("message").style.fontWeight = "Heavy";   
    document.getElementById("message").innerHTML = "Passwords match!"  
  } 
}

给我报名!

var passConfirm=函数(){ 如果(document.getElementById(“密码”).value==document.getElementById(“ConfirmPassword”).value){ document.getElementById(“消息”).style.color=“绿色”; document.getElementById(“message”).style.fontwweight=“Heavy”; document.getElementById(“消息”).innerHTML=“密码匹配!” }否则{ document.getElementById(“消息”).style.color=“红色”; document.getElementById(“message”).style.fontwweight=“Heavy”; document.getElementById(“消息”).innerHTML=“密码匹配!” } }