2013-07-10 71 views
0

這是我正在處理的登錄頁面的JavaScript。 因此,出於某種原因,我的表單在發送表單之前未進行驗證,並且它破壞了我的背景旋轉插件。 希望有人能幫我解決這個問題,對不起,如果這段文字太長了,我似乎無法正確提交這篇文章,因爲它不停地要求我添加更多細節,但我並不真正知道還有什麼在增加。表單驗證不會發生,表單提交

var Login = function() { 

    return { 
     //main function to initiate the module 
     init: function() { 

      $.backstretch([ 
       "assets/img/bg/1.jpg", 
       "assets/img/bg/2.jpg", 
       "assets/img/bg/3.jpg", 
       "assets/img/bg/4.jpg" 
       ], { 
        fade: 1000, 
        duration: 8000 
       }); 

      $('.login-form').submit(function(e) { 
      e.preventDefault(); 
      }).validate({ 
       errorElement: 'label', //default input error message container 
       errorClass: 'help-inline', // default input error message class 
       focusInvalid: false, // do not focus the last invalid input 
       rules: { 
        username: { 
         required: true 
        }, 
        password: { 
         required: true 
        }, 
        remember: { 
         required: false 
        } 
       }, 

       messages: { 
        username: { 
         required: "Username is required." 
        }, 
        password: { 
         required: "Password is required." 
        } 
       }, 

       invalidHandler: function (event, validator) { //display error alert on form submit 
        $('.alert-error', $('.login-form')).show(); 
       }, 

       highlight: function (element) { // hightlight error inputs 
        $(element) 
         .closest('.control-group').addClass('error'); // set error class to the control group 
       }, 

       success: function (label) { 
        label.closest('.control-group').removeClass('error'); 
        label.remove(); 
       }, 

       errorPlacement: function (error, element) { 
        error.addClass('help-small no-left-padding').insertAfter(element.closest('.input-icon')); 
       }, 

       submitHandler: function (form) { 
        $.ajax({ 
        url: "loginqry.php", 
        type: "post" 
        data: serializedData 
        { 
        alert(data); // show response from the php script. 
        } 
        }); 
        return false; 
       } 
      }); 

      $('.login-form input').keypress(function (e) { 
       if (e.which == 13) { 
        $.ajax({ 
        url: "loginqry.php", 
        type: "post" 
        data: serializedData 
        { 
        alert(data); // show response from the php script. 
        } 
        }); 
        return false; 
       } 
      }); 
     } 

    }; 

}(); 

回答

0

你不能鏈.validate() method到事件處理程序...

$('.login-form').submit(function(e) { 
    e.preventDefault(); 
}).validate({...}); 

此外,沒有任何理由首先聲明一個.submit()處理程序。該插件自動處理您綁定它的表單的提交事件。

只要做到這一點,而不是...

$('.login-form').validate({...});