1

我正在尝试使用 jquery 提交表单,但不是表单中的默认操作脚本,而是我想将发布变量提交到不同的操作脚本。

更具体地说,这是我的默认表单,当用户单击提交按钮时,它会以特定方式工作:

<form method="post" action="something.php" id="myForm"> 
</form>

我想做的是提交上面的表单,但something.php我不想使用默认值作为操作脚本,而是使用foo.php.

这甚至可能吗?这是我尝试过的,但没有成功(帖子变量没有传递到foo.php页面):

$.post('foo.php', '#myForm', function(data) {
    alert(data);
}); 

我很感激任何关于如何做到这一点的建议。

提前谢谢了!

4

2 回答 2

2

如果您只是想更改表单发布到的位置,请action使用 JavaScript 更改属性。

$('#myForm').attr('action', 'foo.php');

$.post()当您打算将默认行为更改为使用 XHR 而不是正常的整页刷新时才使用。

于 2013-03-31T23:27:04.730 回答
1

是的,这当然是可能的,但是你应该传递一个键值对,你可以使用.serializeArray()方法。

$('#myForm').submit(function(e){
   e.preventDefault();
   $.post('foo.php', $(this).serializeArray(), function(data) {
       // alert(data);
   }); 
});

如果您有点击处理程序:

$('#element').click(function(e){
   //e.preventDefault();
   $.post('foo.php', $('#myForm').serializeArray(), function(data) {
       // alert(data);
   }); 
});
于 2013-03-31T23:25:13.307 回答