1

我目前有一个表单,用户通常可以单击提交按钮进行保存。表单操作转到名为 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() 传递任何额外参数的信息;如果不是,您认为解决我的问题的最佳方法是什么?

4

3 回答 3

3

您可以append在表单中添加一个临时字段。

$('#hyperlink').click(function() {
    $(this).closest("#save_form").append('<input type="hidden" name="redirect" value="link" />');
    $(this).closest("#save_form").submit();
});
于 2013-09-10T10:46:37.347 回答
0

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

前任。

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

因此,当表单提交时,您的隐藏字段值也将与其他参数一起提交。

在您的 php 中,您可以简单地执行以下操作:

if ($_POST['redirect'] == "link") {
    // Redirect 1
} else {
    // Redirect 2
}
于 2013-09-10T10:45:01.650 回答
0

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

于 2013-09-10T10:45:16.997 回答