2015-05-09 2 views
-2

У меня есть функция обработки ошибок, которую я хочу вернуть количество ошибок, чтобы я мог обрабатывать другую функцию. Однако он работает не так, как ожидалось. У кого-нибудь есть идеи?JQuery, проходящий номер от функции до другой функции JQuery

function validateForm() { 
     // error handling 
     var errorCounter = 0; 

     $(".required").each(function(i, obj) { 

      if($(this).val() === ''){ 
       $(this).parent().addClass("has-error"); 
       return errorCounter++; 
      } else { 
       $(this).parent().removeClass("has-error"); 
       return errorCounter; 
      } 

     }); 
    } 

Другие функции:

function actionCreateInvoice(){ 

     validateForm(errorCounter); 

     if (errorCounter > 0) { 
      $("#response").removeClass("alert-success").addClass("alert-warning").fadeIn(); 
      $("#response .message").html("<strong>Error</strong>: It appear's you have forgotten to complete something!"); 
     } else { 
      ..... do something here once validated 
} 

ответ

0

Поместите этот return errorCounter; за пределами .each.

function validateForm() { 
    // error handling 
    var errorCounter = 0; 

    $(".required").each(function(i, obj) { 

     if($(this).val() === ''){ 
      $(this).parent().addClass("has-error"); 
      errorCounter++; 
     } else{ 
      $(this).parent().removeClass("has-error"); 
     } 


    }); 

    return errorCounter; 
} 

Позвони ваша функция, как это:

function actionCreateInvoice(){ 
    var errorCounter = validateForm();//do not pass errorCounter as parameter 
+0

Im получение errorCounter не определен? – James

+0

@James вызывает вашу функцию следующим образом: 'validateForm();' – renakre

+0

Да, я сделал это, все-таки одно и то же. – James

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