如何将表单提交发布到URL并在提交时重定向到另一个URL

时间:2018-11-19 22:56:43

标签: javascript html html5 zapier

我想将表单字段发布到1个URL并重定向到另一个URL。我将代码发布到我想要的网址,但是如何重定向到其他网址? 我想将提交的URL发送到:www.mywebsite.com/submissions 我要在提交时将用户重定向到的URL:www.anotherwebsite.com/confirmation

这是我到目前为止所拥有的:

<form action="https://mywebsite.com/submissions" 
method="post">

    First name: <input type="text" name="fname"><br>
    Last name: <input type="text" name="lname"><br>
<input type="submit" value="Submit">

</form>

2 个答案:

答案 0 :(得分:1)

有两种方法可以做到这一点:

  1. 使用Ajax提交表单,成功后,从Javascript重定向
  2. 正常提交表单,并使用新的url从服务器发送重定向响应

(2)取决于您的服务器端语言-是PHP还是Java。

某些重定向功能将在您的后端语言或库中可用。它将发送带有备用URL的HTTP 301响应。浏览器将自动加载提供的新URL。

编辑:

对于(1),您可以处理按钮单击,防止默认行为以及通过Ajax手动发布表单。完成后,您将重定向页面。

// this is the id of the form
$("#FormID").submit(function(e) {
    e.preventDefault(); // avoid to execute the actual submit of the form.
    var form = $(this);
    var url = form.attr('action');
    $.ajax({
           type: "POST",
           url: url,
           data: form.serialize(), // serializes the form's elements.
           success: function(data)
           {
               alert(data); // show response 
               window.location.href = "www.anotherwebsite.com/confirmation";
           }
         }); 
    });

根据以下答案修改:https://stackoverflow.com/a/6960586/1364747

答案 1 :(得分:0)

提交表单会将您重定向到目标URL。如果要重定向到其他位置,可以使用ajax请求发布表单。这不会将您重定向到任何地方。然后,当您收到来自Ajax的响应时,可以重定向到所需的URL。