我正在尝试使用jquery提交表单,但是我想将post变量提交给不同的操作脚本,而不是表单中的默认操作脚本。
更具体地说,这是我的默认表单,当用户单击提交按钮时,该表单以特定方式工作:
<form method="post" action="something.php" id="myForm">
</form>
我要做的是提交上面的表单,但我没有使用默认的something.php
作为操作脚本,而是使用foo.php
。
这甚至可能吗?这是我尝试过的,没有成功(帖子变量没有传递到foo.php
页面):
$.post('foo.php', '#myForm', function(data) {
alert(data);
});
我很感激有关如何做到这一点的任何建议。
非常感谢提前!
答案 0 :(得分:2)
如果您只想更改表单发布到的位置,请使用JavaScript更改action
属性。
$('#myForm').attr('action', 'foo.php');
如果您打算更改默认行为以使用XHR而不是正常的整页刷新,则仅使用$.post()
。
答案 1 :(得分: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);
});
});