Javascript 表单验证onblur()不会';行不通
我有以下javascript代码(函数SHA-1位于外部文件中): 在html中:Javascript 表单验证onblur()不会';行不通,javascript,onblur,Javascript,Onblur,我有以下javascript代码(函数SHA-1位于外部文件中): 在html中: <form name="form" method="post" action="change_pass.php"> <div class="row"> <div class="col1">write your password:<span class="required">*</span></div&
<form name="form" method="post" action="change_pass.php">
<div class="row">
<div class="col1">write your password:<span class="required">*</span></div>
<div class="col2">
<input type="password" name="original_pass" id="oriPass" />
</div>
</div>
</form>
写下你的密码:*;
出于某种原因,每次我测试它时,我都会得到相同的输出:“validpassword”,不管该字段是空的、有效的还是无效的
我在这里做错了什么?您只在加载时设置密码变量。从那以后就再也不会改变了。您需要在onblur函数中设置它。在onblur函数中移动
var user\u pass…
和var hash\u pass…
代码。现在,只分配了onload,并且永远不会更改。另外,最好使用onchange而不是onblur
window.onload = validatePass;
function validatePass() {
var el = document.getElementById("oriPass");
var span = document.createElement("span");
el.parentNode.appendChild(span);
el.onchange = function doSomething() {
var user_pass = el.value;
var hashed_pass = SHA1(user_pass);
if(user_pass == null || user_pass == "") {
span.setAttribute('class','required');
span.innerHTML="this is a required field";
}
else {
if(hashed_pass != '7c4a8d09ca3762af61e59520943dc26494f8941b') {
span.setAttribute('class','required');
span.innerHTML="wrong password";
}
else {
span.setAttribute('class','required_ok');
span.innerHTML="valid password";
}
}
}
}
这在所有浏览器中都是一样的吗?你是如何“模糊”的?用鼠标点击或标签?它实际上在不同的浏览器中输出不同的东西,但输出不会改变
window.onload = validatePass;
function validatePass() {
var el = document.getElementById("oriPass");
var span = document.createElement("span");
el.parentNode.appendChild(span);
el.onchange = function doSomething() {
var user_pass = el.value;
var hashed_pass = SHA1(user_pass);
if(user_pass == null || user_pass == "") {
span.setAttribute('class','required');
span.innerHTML="this is a required field";
}
else {
if(hashed_pass != '7c4a8d09ca3762af61e59520943dc26494f8941b') {
span.setAttribute('class','required');
span.innerHTML="wrong password";
}
else {
span.setAttribute('class','required_ok');
span.innerHTML="valid password";
}
}
}
}