2013-03-28 55 views
-3

我有幾個簡單的HTML controls.i形式希望將數據保存在阿賈克斯jquery.but它不透過it.here MySQL的是什麼,我都試過jQuery的形式提交問題

$('#myForm').ajaxForm({ 

      beforeSubmit : function() { 

      var lookup   = true; 

      var validate  = false; 
      $.ajax({ 

      async: false, 

      url: 'user.php?username='+$('#username').val(), 

      success: function(data) { } 

     }) 
validate = $("#myForm").validate({rules: { price: { number: true, }, size: { number: true, }} , errorClass: 'form_fields_error', errorPlacement: function(error, element) {}}).form() ; 
if(lookup && validate){ 

       return true; 

      } 

      else{ 

       return true; 

      } 

      }, 
     target: '#showdata', 

      success: function() { } 

     }); 

     }); 

    $("#myForm").submit(function() 
    { 

alert('this is not fired'); 
//e.preventDefault(); 
var formData = $(this).serialize(); 

$.ajax(
{ 
    type:'post', 
    url:'administration/save_users.php', 
    data:formData, 
    beforeSend:function() 
    { 
     // launchpreloader(); 
    }, 
    complete:function() 
    { 
     // stopPreloader(); 
    }, 
    success:function(result) 
    { 
     alert(result); 
    } 

}); 

}); 

形式提交不被解僱......我失蹤了?我有表單動作=「#」....

+0

該代碼未處於適合狀態,以便可靠地解決問題。整理它,你可能會開始爲自己找到答案。 –

+0

這是JavaScript,而不是PHP,請相應地重新格式化代碼。 – Sparky

回答

1

根據您的代碼,可能您正在使用jQuery Validate plugin

validate = $("#myForm").validate({rules: { price: { number: true, }, size: { number: true, }} , errorClass: 'form_fields_error', errorPlacement: function(error, element) {}}).form() ; 

你的代碼是一個多ajax電話和一個多餘的submit處理所有一團糟。它格式不好的事實並不能幫助我們解開和排除故障。

As per the jQuery Validate documentation

submitHandler,回調,默認值:默認值(本機)的形式提交

回調處理實際當表單 是有效的提交。獲取表單作爲唯一的參數。替換默認的 提交。 經過驗證後,通過Ajax提交表單的正確位置 經過驗證。

這意味着你應該把你的ajax內插件的submitHandler回調函數。

你......

  • 不需要使用submit處理器(這是內置插件)

  • 不需要測試表單的有效期內,前/提交/單擊(這也內置了插件)

嘗試這樣做,而不是...

觀看演示:http://jsfiddle.net/zuXYR/

$(document).ready(function() { 

    $('#myForm').validate({ // initialize the plugin 
     rules: { 
      price: { 
       number: true 
      }, 
      size: { 
       number: true 
      } 
     }, 
     errorClass: 'form_fields_error', 
     errorPlacement: function(error, element) { 
      // return false; // this will suppress errors 
      error.insertAfter(element); // the default function 
     }, 
     submitHandler: function (form) { 
      // your ajax code here 
      return false; // required when using ajax to prevent a page reload 
     } 
    }); 

}); 

而且,我不知道爲什麼你會希望你的errorPlacement回調函數是空的。如果要抑制錯誤消息,請使用return false。否則,如果您要使用默認行爲,請完全忽略errorPlacement回調。