2013-11-08 10 views
0

Я создал проверку пользовательских JQuery и моя проверка всегда терпит неудачу (возвращает истину всегда), я проводил часы, но не мог понять, что пошло не так в моем коде:Пользовательские проверки JQuery всегда возвращает истину

var isvalid = []; 
var counterrors = isvalid.length; 
function salutationvalidation(){ 

    var salutation = $("#salutation option").attr("selected"); 
    var salutation_error = $("#salutation").parent(".form-input").siblings(".form-info").children(".1stperror"); 

    if(salutation!=undefined){ 
     $(salutation_error).css("display","table-cell"); 
     isvalid.push(salutation_error); 
    }else{ 
     $(salutation_error).css("display","none"); 
     isvalid.pop(salutation_error); 
    } 

} 

function namevalidation(){ 
    var checkname = $("#first-name").val(); 
    var namevalid = new RegExp("(^[a-zA-Z'-]+$)"); 
    var name_error = $("#first-name").parent(".form-input").siblings(".form-info").children(".1stperror"); 

    if(checkname.match(namevalid)){ 
     $(name_error).css("display","table-cell"); 
     isvalid.push(name_error); 
    }else{ 
     $(name_error).css("display","none"); 
     isvalid.pop(name_error); 
    } 

} 

$("#form-v2").submit(function(){ 
    salutationvalidation(); 
    namevalidation(); 
    if(counterrors == 0){ 
     return true; 
    }else{ 
     return false; 
    } 
}); 

Любые помощь в решении вышеприведенного кода будет очень признательна, поскольку я должен обслуживать еще 4 поля ввода. Когда я получаю предупреждения, я получаю 4, иногда 5,6. Кажется, значения не очищая

ответ

0

Попробуйте это .....

$("#form-v2").submit(function(){ 
    salutationvalidation(); 
    namevalidation(); 
    counterrors = isvalid.length; 
    if(counterrors == 0){ 
     return true; 
    }else{ 
     return false; 
    } 
}); 
+0

Мой код был изначально, как это .. это не сработало. Я думаю, что может быть проблема с моим (push, Pop) – Wasiim

+0

может u [jsfiddle] (http://fiddle.jshell.net/) ваш код !!! – rynhe

Смежные вопросы