带有额外参数/自定义重定向的Javascript表单提交

时间:2013-09-10 10:41:19

标签: php javascript jquery forms

我目前有一个表格,用户可以传统上点击提交按钮进行保存。表单操作转到一个名为formProcess.php的页面,该页面包含一个元重定向,它将保存所有内容,然后将用户重定向回表单。

我被要求向表单页面上的超链接添加一个新功能,该功能将在跟踪到其他页面的超链接之前自动保存表单。我目前有一些简单的jQuery连接到超链接,提交表单如下:

$('#hyperlink').click(function() { 
    $(this).closest("#save_form").submit();
});

这可以工作并提交表单,但当然formProcess.php中有一个元重定向,它会将用户带回到我不想要的表单页面。

我想如果我可以在Javascript表单提交中传递一些额外的参数,比如submit('redirect = link');然后我可以添加这样的东西到formProcess.php:

if ($_POST['redirect'] == 'link') {
    // Redirect 1
} else {
    // Redirect 2
}

这可能吗?我似乎无法找到任何有关能够使用submit()传递任何额外参数的信息;如果没有,你会建议什么是解决我问题的最佳方法?

3 个答案:

答案 0 :(得分:3)

您可以append表单的临时字段。

$('#hyperlink').click(function() {
    $(this).closest("#save_form").append('<input type="hidden" name="redirect" value="link" />');
    $(this).closest("#save_form").submit();
});

答案 1 :(得分:0)

在表单中,您可以使用隐藏输入类型。

实施例

<input type="hidden" name="redirect" value="link"/>

所以当表单提交时,您的隐藏字段值也要与其他参数一起提交。

在您的PHP中,您可以按照以下方式执行操作:

if ($_POST['redirect'] == "link") {
    // Redirect 1
} else {
    // Redirect 2
}

答案 2 :(得分:0)

您可以使用ajax提交表单,并在成功后重定向到您想要的URL。没有使用ajax,您可以在表单中添加隐藏字段并更改其值。然后服务器端您将能够检查隐藏字段的值并相应地采取行动。