-1

私の現在の声明:

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
}​

これに関する問題は、これを 1 つの 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

それで、私は何をしますか?

4

1 に答える 1

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 関数を最適に構築する方法を理解するために、学習を始めたときに非常に役に立ちました。

于 2012-12-20T01:31:56.097 に答える