Код функции после цикла for не выполняется никогда - PullRequest
0 голосов
/ 16 ноября 2011

Я пытаюсь создать форму регистрации и проверить поля ввода, используя JavaScript, но у меня возникают трудности после выполнения цикла for ...

function checkValidation1() {

    var elem = document.getElementsByTagName("input"); 

    for(var i = 0; i < elem.length; i++) {

        if($("#"+elem[i].id).val()=="") {
            $("#"+elem[i].id+"error").html("<img src='images/exclamationsmall.png' title='"+elem[i].name+" should not be blank'>");               

        } else if(elem[i].name=="email") {
            var emailReg = /^([_a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,3})$/;

            if(!emailReg.test($("#"+elem[i].id).val())) {                        
                $("#"+elem[i].id+"error").html("<img src='images/exclamationsmall.png' title='"+elem[i].name+" is invalid'>");
            }
        } else {
            $("#"+elem[i].id+"error").html("");
        }
    } 
    alert("fasfasfasfasfasf");
}

alert по какой-то причине не выполняется. Есть идеи?

1 Ответ

2 голосов
/ 16 ноября 2011

Убедитесь, что все ваши input элементы действительно имеют атрибут id. В противном случае эта строка:

if ($("#" + elem[i].id).val() == "") {

... приведет к выражению, содержащему только октопор - $("#") - и следующую ошибку:

Синтаксическая ошибка, нераспознанное выражение: #

... что в конечном итоге не позволяет коду достичь значения alert.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...