我正在验证表单,每次点击提交都会调用它,并且它会一直显示这些错误,因此处理错误是不是很糟糕?以及如何更改代码,它只显示一次,那些错误?
<a href="#" onclick="validateForm() ? window.document.forms[0].submit() : false" id="submit">Sūtīt →</a>
Js文件
window.onload = function() {
null;
}
function renderErrors(errors) {
for (var i=0; i < errors.length; i++) {
$("#errors").append("<div> » " + errors[i] + "</div>");
};
}
function validateForm() {
result = true;
var errors = [];
if (document.getElementById("full-name").value == '') {
errors.push("Lauks 'Vārs, Uzvārds' ir jānorāda obligāti");
result = false;
}
if (document.getElementById("telefonanr").value == '') {
errors.push("Lauks 'Telefona numurs' ir jānorāda obligāti");
result = false;
}
if (document.getElementById("zinojums").value == '') {
errors.push("Lauks 'Ziņojums' ir jānorāda obligāti");
result = false;
}
if (errors[0] == undefined) {
return true;
} else {
renderErrors(errors);
return false;
}
}
答案 0 :(得分:1)
添加以下行
$("#errors").html('');
之前
$("#errors").append("<div> » " + errors[i] + "</div>");
像:
$("#errors").html('');
$("#errors").append("<div> » " + errors[i] + "</div>");
答案 1 :(得分:1)
修改您的renderErrors
功能以在追加之前清空内容。
function renderErrors(errors) {
var container = $('#errors');
container.empty();
for (var i=0; i < errors.length; i++) {
container.append("<div> » " + errors[i] + "</div>");
};
}