【发布时间】:2014-10-19 15:51:06
【问题描述】:
我创建了一个检查两个密码字段的函数,但是当我修复输入时,只有一个字段获得成功类,而另一个没有;为了使这两个字段都具有成功类,您必须单击它以进行更新。我可以使用什么 DOM 事件来立即更新它?
window.onload = addListeners;
function addListeners() {
if(window.addEventListener) {
_('pass1').addEventListener("blur", checkPassword, false);
_('pass2').addEventListener("blur", checkPassword, false);
} else if (window.attachEvent) {
_('pass1').attachEvent("onblur", checkPassword);
_('pass2').attachEvent("onblur", checkPassword);
}
}
// Index pages field checker
function checkPassword() {
var p1Val = _("pass1").value;
var p2Val = _("pass2").value;
var p1 = _("pass1");
var p2 = _("pass2");
if(p1Val != p2Val) {
this.className = this.className.replace( /(?:^|\s)suSuccess(?!\S)/g , '' );
this.className += " suError";
_("pass2Check").innerHTML = "Your password fields do not match";
} else if (p1Val == "" && p2Val == ""){
p1.className = p1.className.replace( /(?:^|\s)suSuccess(?!\S)/g , '' );
p2.className = p2.className.replace( /(?:^|\s)suSuccess(?!\S)/g , '' );
p1.className += " suError";
p2.className += " suError";
_("pass2Check").innerHTML = "Fill in both password fields";
} else {
this.className = this.className.replace( /(?:^|\s)suError(?!\S)/g , '' );
this.className += " suSuccess";
_("pass2Check").innerHTML = "Your password fields match";
}
}
【问题讨论】:
-
_('pass2')是做什么的..?你能提供最小的HTML和CSS` 来重现这个,或者一个简单的在线演示......?
标签: javascript dom listener dom-events