2017-02-19 49 views
0

我有一個問題jQuery的防止提交表單doenst工作,if語句

如果我試圖阻止通過使用此代碼

$(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'提示放在與'e.preventDefault()'相同的if語句中?我有一種感覺可以解決這個問題。 –

+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

謝謝,這就是我的解決方案。 我注意到,我在包含jquery.js之前包含了peekabar.js。因此,如果如果打電話給酒吧,我的腳本無論如何會導致錯誤並提交。 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()中的if else,將它提交後(函數(E)){

試試看。

+0

是的,這對我很有用。謝謝!但即使所有文本框都填充了數據,我的表單也不會提交.... – PasiB

+0

表單永遠不會提交。 – charlietfl