2017-02-16 2 views
0

Как предотвратить изменение модальности при перезагрузке, если есть ошибка в входах?return false не работает в модальном

function functionTest(){ 
    $('#modal').modal('show'); 
    $('#submitButton').click(function() { 
     $('.tee').each(function() { 
      var x = $(this).val(); 
      if(x.length == 0){ 
       alert("empty fields"); 
       return false; 
      } 

     });  
    }); 
} 
+1

вы только возвращение ложным из цикла .each, а не от мыши мероприятие. – ADyson

+0

Вы возвращаете false из '.each' - вам нужно вернуть false на уровне' click' –

+1

Возможный дубликат [как вернуть true/false из вложенных функций обратного вызова jquery] (http: // stackoverflow. com/questions/18141157/how-to-return-true-false-from-nested-jquery-callback-functions). Этот вопрос содержит вашу точную проблему (возвращая false для внешней функции из jQuery '.each') – Santi

ответ

0

Вы возвращаете false только из цикла .each, а не из события click. Самый простой способ решить эту проблему, чтобы установить промежуточный флаг, цикл может обновлять, а затем возвращает значение флага:

function functionTest() { 
    $('#modal').modal('show'); 
    $('#submitButton').click(function() { 
    var retVal = true; //flag assumes everything's ok, to start with 
    $('.tee').each(function() { 
     var x = $(this).val(); 
     if(x.length == 0){ 
      alert("empty fields"); 
      retVal = false; //set flag false when we find a problem 
      return false; 
     } 
    });  

    return retVal; 
    }); 
} 
+0

сейчас работает. Благодаря ;) – Lazz

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