2017-02-19 48 views
0

У меня проблемаJQuery предотвращения представить форму doenst работу с тем, если заявление

Если я пытаюсь предотвратить отправки формы с помощью этого кода

$(function(){ 
      $('#registerform').submit(function(e) { 

       var benreg = $("#benreg").val() 
       var pas1reg = $("#pas1reg").val() 
       var pas2reg = $("#pas2reg").val(); 
       var submit = true; 

       if(benreg === "" || pas1reg === "" || pas2reg === ""){ 
        var submit = false; 
       } 

       if(submit === false){ 
        e.preventDefault(); 
       } 

      }); 
     }); 

... то это работает, но когда я использую чтобы показать информационное выпадающее предупреждение, это работает. Я не знаю почему. Моя форма отправляет данные, хотя ящики пустые.

$(function(){ 
      $('#registerform').submit(function(e) { 

       var benreg = $("#benreg").val() 
       var pas1reg = $("#pas1reg").val() 
       var pas2reg = $("#pas2reg").val(); 
       var submit = true; 

       if(benreg === "" || pas1reg === "" || pas2reg === ""){ 
        var submit = false; 
        var rel = new $.peekABar({ 
         html: "Error message<br />" + '<img src="img/success.png"/>' 
        }); 

        rel.show(); 


       } 

       if(submit === false){ 
        e.preventDefault(); 
       } 

      }); 
     }); 

Что мне нужно сделать, чтобы это сработало?

Спасибо заранее :)

+0

Рассматривали ли вы сообщение своего оповещения peekABar в том же самом выражении 'if', что и' e.preventDefault() '? У меня такое чувство, что это может решить проблему. –

+0

не обновлять 'var' – charlietfl

ответ

1

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

$(function(){ 
      $('#registerform').submit(function(e) { 

       var benreg = $("#benreg").val() 
       var pas1reg = $("#pas1reg").val() 
       var pas2reg = $("#pas2reg").val(); 
       var submit = true; 

       if(benreg === "" || pas1reg === "" || pas2reg === ""){ 
        var submit = false; 
        var rel = new $.peekABar({ 
         html: "Error message<br />" + '<img src="img/success.png"/>' 
        }); 

        rel.show(); 

        return submit; 

       } 

      }); 
     }); 
+1

Спасибо, это мое решение. Я заметил, что я включаю peekabar.js, прежде чем включить jquery.js. Так что если при вызове заглянуть в панель, мой сценарий в любом случае вызывает ошибку и submittet. Thnak вы, ребята. :) – PasiB

+0

Рад помочь. :) –

-1

Попробуйте этот код:

$(function(){ 
     $('#registerform').submit(function(e) { 
      e.preventDefault(); 

      var benreg = $("#benreg").val() 
      var pas1reg = $("#pas1reg").val() 
      var pas2reg = $("#pas2reg").val(); 
      var submit = true; 

      if(benreg === "" || pas1reg === "" || pas2reg === ""){ 
       var submit = false; 
       var rel = new $.peekABar({ 
        html: "Error message<br />" + '<img src="img/success.png"/>' 
       }); 

       rel.show(); 


      } 

     }); 
    }); 

Просто удалить e.preventDefault() в случае другой, переместить его после того, как представить (функция (е)) {

Попробуйте код.

+0

Да, это работает для меня. Благодаря! Но моя форма не отправляется, даже если все текстовые поля заполнены данными ... – PasiB

+0

Форма никогда не будет отправлена. – charlietfl

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

  • Нет связанных вопросов^_^