2011-10-19 57 views
0

我想使用ajax發佈表單。AJAX jQuery表單發佈不工作

現在,我的代碼是

$("#sub").click(function() {  
    var tag = $("#tagbar").val(); 
    var opinion = $("#op").val(); 
    alert($("#expressform").serialize()); 
    $.post("dbfunctions.php", $("#expressform").serialize()); 
}); 

這工作,但它需要很長的時間相比,發佈並添加到數據庫中(多數民衆贊成dbfunctions一樣)之前花了多長時間,當我正在使用表單操作並刷新頁面。爲什麼是這樣?

此外,如果我刪除警報,腳本將完全停止工作。無論如何,我無法弄清楚這是否合理。

感謝

回答

2

確保您通過單擊處理程序返回false取消按鈕的默認操作:

$("#sub").click(function() {  
    $.post("dbfunctions.php", $("#expressform").serialize()); 
    return false; 
}); 

,而不是認購提交按鈕點擊此外,最好訂閱提交直接發送相應表格的事件:

$("#expressform").submit(function() {  
    $.post(this.action, $(this).serialize()); 
    return false; 
}); 

這樣您就不再對JavaScript文件中的任何網址進行硬編碼。你只是不顯眼地對錶單進行AJAX化。

0
You can use below function for submit the data 
through Ajax form Submit 

$('#form1').ajaxForm({ 
     success:function(response){ 
      $('#save_data').html(response); 

}); 


$('#btnSubmit').click(function() { 

      $('#form1').submit(); 

    });