当字段验证失败时,我正在向我的标记添加错误消息。问题是前置工作不止一次,因此每次用户尝试输入错误数据时都会显示一条新的错误消息。我该如何防止这种情况发生?
这是我的代码:
$('#customer-register input[type="submit"]').on('click', function(e) {
var day = $('#dob_day').val();
var month = $('#dob_month').val();
var year = $('#dob_year').val();
var dateString = day + "/" + month + "/" + year;
if (isValidDate(day, month, year)) {
return true;
}
e.preventDefault();
// Show an error here
$("#customer-register form").prepend("<p>Please enter a valid date.</p>");
$("#customer-register form p").first().addClass("errors");
});
答案 0 :(得分:2)
每次调用此函数时都应删除错误消息。
所以在事件处理程序之后添加这一行$('p.errors').remove();
。
$('#customer-register input[type="submit"]').on('click', function(e) {
$('p.errors').remove();
var day = $('#dob_day').val();
var month = $('#dob_month').val();
var year = $('#dob_year').val();
var dateString = day + "/" + month + "/" + year;
if (isValidDate(day, month, year)) {
return true;
}
e.preventDefault();
// Show an error here
$("#customer-register form").prepend("<p>Please enter a valid date.</p>");
$("#customer-register form p").first().addClass("errors");
});