2015-10-11 98 views
0

你好傢伙我使用提交處理程序提交我的表單,但它的工作非常緩慢。請幫我快點。在此先感謝 以下是我的登錄表單JavaScript代碼......提交處理程序正在工作,但它非常緩慢

 var handleLoginForm = function() { 

     $('.login-form').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 
      }, 
      user_type: { 
       required: true 
      }, 
      remember: { 
       required: false 
      } 
     }, 

     messages: { 
      username: { 
       required: "Username is required." 
      }, 
      password: { 
       required: "Password is required." 
      }, 
       user_type: { 
       required: "User Type 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 
     }, 
     data: $('#form_modulesadd').serialize(), 

     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) { 
      $(".login-form input").submit(); 
      window.location.href = "check.php"; 

     } 
    }); 

它速度快,當我在使用PHP提交表單,但我必須使用JavaScript來提交此表... ...

+1

你能更具體一點嗎?這是一個服務器/連接問題?你的形式是巨大的嗎?這可能是1000件事情 –

+0

當我使用php時速度非常快。但在這裏我必須使用JavaScript,它變得緩慢。它是一個登錄表單。 –

+1

嘗試在提交表單時運行JS。現在你似乎有一個函數,但它是這樣調用的:'$(「。login-form」)。submit(function(){...});'這可能有助於速度。 – TricksfortheWeb

回答

0

運行JS提交表單時:

$(".login-form").submit(function(){ 
$('.login-form').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 
      }, 
      user_type: { 
       required: true 
      }, 
      remember: { 
       required: false 
      } 
     }, 

     messages: { 
      username: { 
       required: "Username is required." 
      }, 
      password: { 
       required: "Password is required." 
      }, 
       user_type: { 
       required: "User Type 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 
     }, 
     data: $('#form_modulesadd').serialize(), 

     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) { 
      $(".login-form input").submit(); 
      window.location.href = "check.php"; 

     } 
    }); 
}); 

這從運行,直到表單提交保持JS。
UPDATE:

$(".login_form").submit(function(){ 
    $(this).validate({ ... }); 
}); 

不知道這是否會工作,但反覆選擇顯得有點尷尬我。

+0

你好,你是對的。通過這樣做我的JavaScript不工作在下一頁。通過應用「$(」。login-form「)。submit(function(){...});」代碼我的JavaScript沒有在重定向頁面上工作。但在此之前它正在工作,但它非常緩慢 –

+0

你好@網絡應用程序,通過應用你的代碼我的JavaScript不能在重定向頁面上工作。請幫幫我。 –

+0

「重定向頁面」是什麼意思? – TricksfortheWeb

0

我通過改變submitHandler的實現來解決同樣的問題,如下所示。我只是採取形式選擇器的第一項[0]。

submitHandler: function (form) { 
    $(".login-form input")[0].submit(); 
    ... 
}