2011-10-19 56 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(); 

    });