我有这个使用构造函数的基本javascript,验证登录字段不能为空的表单。所有这些都没有使用任何js库。到目前为止,我已经提出了这个......
function Validator(txtbox) {
this.txtbox = txtbox;
}
var validator = new Validator([ "username", "password"]);
Validator.prototype.validate = function(form) {
for(var i = 0, l=this.txtbox.length; i < l; i++) {
var status = document.getElementById("status-msg");
if (form[this.txtbox[i]].value == 0) {
status.innerHTML="The " + form[this.txtbox[i]].name + " is empty";
status.style.display = "inline-block"
status.className = "error";
return false;
}
else {
status.innerHTML="Login successful";
status.style.display = "inline-block"
status.className = "success";
}
}
}
function runValidate(form) {
validator.validate(form);
}
我想知道如何才能提高效率?或者任何建议如何让这更好,将不胜感激。
谢谢
答案 0 :(得分:2)
您可以移动DOM遍历,在遍历循环之外找到“status-msg”元素。
var status = document.getElementById("status-msg");
for(var i = 0, l=this.txtbox.length; i < l; i++) {...}
现在,您正在为每个要验证的字段遍历DOM。