繁体   English   中英

密码确认不起作用

[英]Password confirmation isn't working

对于我的一生,我无法弄清楚自己做错了什么。 当有人尝试输入与表单代码不匹配的密码时,我希望弹出一条消息。

 function passcheck() { var p1 = _("pass1").value; var p2 = _("pass2").value; if (p1 != p2) { status.innerHTML = "Your passwords don't match"; } } 
 <form name="signupform" id="signupform" onSubmit="return false;"><div id="password">Create Password:</div> <input id="pass1" type="password" maxlength="88" placeholder="&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;"> <div id="confirm">Confirm Password:</div> <input id="pass2" type="password" onBlur="passcheck()" maxlength="88" placeholder="&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;"> 

我想念什么?

 $("#pass2").change(function() { var p1 = $("#pass1").val(); var p2 = $("#pass2").val(); if (p1 === p2) { } else{ document.getElementById("passwordMatch").innerHTML = "Your passwords don't match"; } }); 
 #passwordMatch{color:red;} 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input id="pass1" type="password" maxlength="88" placeholder="&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;"> <div id="confirm">Confirm Password:</div> <input id="pass2" type="password" maxlength="88" placeholder="&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;"> <div id="passwordMatch"></div> 

首先,单独创建一个div来显示错误消息msg.You使用了“状态”,该状态在任何地方都没有使用。

我删除了onFocus()因为您没有为其提供脚本,并且为p1p2添加了document.getElementById()以便获取其值

 function passcheck() { var p1 = document.getElementById("pass1").value; var p2 = document.getElementById("pass2").value; var result = document.getElementById("status"); if (p1 != p2) { result.innerHTML = "Your passwords don't match"; } } 
 <form name="signupform" id="signupform" onSubmit="return false;"> <div id="password">Create Password:</div> <input id="pass1" type="password" maxlength="88" placeholder="&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;"> <div id="confirm">Confirm Password:</div> <input id="pass2" type="password" onBlur="passcheck()" maxlength="88" placeholder="&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;"> <p id="status"></p> </form> 

function passcheck() {
  var p1 = $("#pass1").val();
  var p2 = $("#pass2").val();
  if (p1 != p2) {
    status.innerHTML = "Your passwords don't match";
  }
}

由于您已经标记了Jquery,所以我假设您的HTML中有Jquery

在jQuery $(“#idoftheField”)。val()中获取字段的值

试试这个

 function passcheck() { var p1 = document.getElementById("p1").value; var p2 = document.getElementById("p2").value; if (p1 != p2) { document.getElementById("status").innerHTML = "Your passwords don't match"; } } 
 <form name="signupform" id="signupform" onSubmit="return false;"> <div id="password">Create Password:</div> <input id="p1" type="password" maxlength="88" placeholder="&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;"> <div id="confirm">Confirm Password:</div> <input id="p2" type="password" onBlur="passcheck()" maxlength="88" placeholder="&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;&#9679;"> <div id="status" style='color:red'></div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM