表单验证onblur()不起作用
Form validation onblur() doesn't work
我有这个javascript代码(函数SHA-1位于外部文件中):
window.onload = validatePass;
function validatePass() {
var el = document.getElementById("oriPass");
var user_pass = el.value;
var hashed_pass = SHA1(user_pass);
var span = document.createElement("span");
el.parentNode.appendChild(span);
el.onblur = function doSomething() {
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";
}
}
}
}
和html:
<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>
由于某种原因,每次我测试它,我得到相同的输出:"valid password",无论字段是空的,有效的还是无效的。
我在这里做错了什么?
将var user_pass...
和var hashed_pass...
代码移动到onblur函数中。现在只分配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";
}
}
}
}
仅在加载时设置密码变量。从那以后就再也没有改变过。您需要在onblur函数中设置它
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 监视函数从服务返回不起作用,但作用域函数起作用
- 幻灯片滚动javascript不起作用
- 简单的javascript在Shopify中不起作用
- Jquery onblur 第二次不起作用
- Onblur,Onfocus javascript for TextMode=“MultiLine” 不起作用
- JavaScript onfocus/onblur 特定于输入 - 不起作用
- JavaScript Onblur/OnFocus 函数不起作用
- JavaScript输入重置值在onblur事件中不起作用
- onBlur()函数在JavaScript中不起作用
- .focus()onblur在Mozilla中不起作用
- onblur不起作用,但onchange起作用
- 表单验证onblur()不起作用
- Focus()似乎在onblur()之后不起作用
- Javascript的onblur函数不起作用
- 为什么onblur不起作用
- js输入onBlur在页面加载时不起作用
- onblur和onsubmit功能不起作用,有人能帮我吗
- 当我克隆输入时,Onblur 不起作用
- Javascript的onblur()不起作用