我目前的陈述:
if (recaptcha == '' || name == '' || email == '' || emailCheck || emailVerify || priority == 'pap' || topic == 'pat' || message == 'message') {
$('#incorrmsg').html("Please fill in the fields").slideDown("slow");
} else {
//else statemnt goes here
}
这个问题是它只能用一个id来做。
我想将其更改为此声明:
if (name == '') {
$('#incorrname').html("Please fill in your name").slideDown("slow");
}
if (email == '' || emailCheck || emailVerify) {
$('#incorremail').html("Please fill in and verify your email").slideDown("slow");
}
if (priority == 'pap') {
$('#incorrpri').html("Please pick a priority").slideDown("slow");
}
if (topic == 'pat') {
$('#incorrtop').html("Please pick a topic").slideDown("slow");
}
if (message == 'message') {
$('#incorrmess').html("Please type in your message").slideDown("slow");
} else {
//else statemnt goes here
}
如果字段中有错误,我想同时显示所有消息
这意味着我不想使用else if
语句。
那我该怎么办?
答案 0 :(得分:0)
你给自己带来的麻烦超过你需要的特殊性。使用数组,在验证过程中将所有错误推送到其中,然后在输出过程中显示错误。
var err = new Array();
if(email == '' || emailCheck) {
err[] = 'Yo, your email is messed up.';
}
if(err.length > 0) {
for (var i=0;i<err.length;i++)
{
$('#errors').append('<li>' + err[i] + '</li>');
}
}
此外,您可以查看jQuery Validation plugin。当我开始学习时,这非常有用,无论是为了易于实现还是为了理解如何最好地构建JavaScript函数。