0

このコードを見て、エラーがトリガーされてもエラー変数が0と叫ぶ理由を教えてください。私はエラーを変更しようと試みました。私はこの時点で迷子になっています。

validationError = 0;
$("#step1continue").click(function(){

        var fname = $('#fname');
        if (fname.val() == "") {
            fname.addClass("needsfilled");
            fname.val('Required!');
                       validationError = 1;
        } else {
                  validationError = 0;
        }

        var lname = $('#lname');
        if (lname.val() == "") {
            lname.addClass("needsfilled");
            lname.val('Required!');
                        validationError = 1;
        } else {
                 validationError = 0;
        }

        var company_name = $('#company_name');
        if (company_name.val() == "") {
            company_name.addClass("needsfilled");
            company_name.val('Required!');
                        validationError = 1;
        } else {
                  validationError = 0;
        }

        var email = $('#email');
        if (email.val() == "") {
            email.addClass("needsfilled");
            email.val('Required!');
                       validationError = 1;
        } else {
                  validationError = 0;
        }

         var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
               if (!emailReg.test(email.val())) {
                        email.addClass("needsfilled");
            email.val('Use a real email address!');
                       validationError = 1;
        } else {
                 validationError = 0;
        }

         var phone = $('#phone');
                if (phone.val() == "") {
            phone.addClass("needsfilled");
            phone.val('Required!');
                        validationError = 1;
        } else {
                  validationError = 0;
        }
                if (phone.val().length < 10) {
            phone.addClass("needsfilled");
            phone.val('10 digits minimum');
                        validationError = 1;
        } else {
                 validationError = 0;
        }   

                var phoneregxp = /^[0-9]$/;
                if (phoneregxp.test(phone.val())) {
                        phone.addClass("needsfilled");
            phone.val('Numbers ONLY');
                        validationError = 1;
        } else {
                  validationError = 0;
        }   

      alert(validationError);

});
4

1 に答える 1

3

チェックが成功するたびにvalidationErrorを継続的にリセットするためですか?

(たとえば)#fnameが入力されていない場合は、validationErrorを1に設定します。これで問題ありません。しかし、それからチェック#lnameして、おっと...それは記入されたものなので、validationErrorは再び0になります。

狂ったように引っ張られる単純なオン/オフ値の代わりに、エラーが発生するたびに値をインクリメントしてみません

validationError = 0;
if (...) { validationError++ }
if (...) { validationError++ }
if (validationError > 0) {
   alert('You have ' + validationError + ' errors');
}
于 2012-09-21T22:03:05.907 に答える