HTML创建onsubmit重定向

时间:2013-10-10 02:38:08

标签: javascript jquery html onsubmit

我正在尝试将表单提交到另一个网址后将用户重定向到当前网站上的新页面。

我看了很多电路板以找出最好的方法。我无法修改发布的目标URL,因此我认为onsubmit函数最适合将用户重定向到另一个页面。但由于某种原因,我无法弄清楚如何让重定向工作。

以下是我现在的代码:

<form method=post onSubmit="window.location.href='https://thankyoupage.com/'action="https:       //urltopostto.com?encoding=UTF-8"><input type="hidden" name="inquiry_from" value="website" />
    <fieldset><legend style="display: inline !important;">We Can't Wait to Hear from You</legend>
    <div><label for="first_name">First Name*</label>
    <input id="first_name" type="text" maxlength="40" name="first_name" required="" size="20" /></div>

    <div><label for="last_name">Last Name*</label>
    <input id="last_name" type="text" maxlength="80" name="last_name" required="" size="20" /></div>

    <div><label for="email">Email*</label>
    <input id="email" type="email" name="email" required="" size="20" /></div>

    <div><label for="phone">Phone*</label>
    <input id="phone" type="tel" name="phone" placeholder="(111) 111-1111" required="" size="20" /></div>
</fieldset>

<fieldset><legend>Company Information</legend>

    <div><label for="company">Organization Name*</label>
    <input id="organization" type="text" maxlength="40" name="organization" required="" size="20" /></div>
    <div>
    </fieldset>
<fieldset>

<div><label for="Inquiry">Can you provide us additional information?</label>
<textarea id="inquiry" maxlength="&quot;256" name="inquiry" rows="6" wrap="soft"></textarea>       </div>
<section><input type="submit" value="Submit" /></section></fieldset>

</form>

2 个答案:

答案 0 :(得分:1)

因此,当用户提交将表单数据发布到页面的表单(例如,“/ page2”)时,您尝试重定向到另一个页面(例如,“/ page1”)。这是对的吗?

如果您拥有page2意味着您的服务器正在为该页面提供服务,那么您基本上可以处理重定向到第1页。

但是,如果您不拥有该页面,则可以使用AJAX将表单数据发布到page2,然后使用jquery重定向到页面中的page1

$(document).ready(function () {
  $('#submit_button_for_the_form').click(function (e) {
    // Don't do the regular form POST
    e.preventDefault();

    // Get form variables...
    var first_name = $('#first_name').val();
    var last_name = $('#last_name').val();
    ...

    // Post the form variables to page2
    $.post('/page2', {
      first_name : first_name,
      last_name : last_name,
      ...
    });

    // redirect to page1
    window.location = '/page1';  
  });
});

答案 1 :(得分:1)

我不确定我是否正确理解了这个问题。这不是很容易做到的,而且你发布的文件会更好吗? (https://urltopostto.com

您说您无法修改目标网址。这是否意味着您也无法向目标文件添加任何内容?

您可以将用户直接发送到感谢页面,然后从幕后提交表单数据。这将是一个$$ - 向后,你必须非常小心警告用户,如果事情不起作用(这将是一些时髦的用户体验),但它会工作。

这里有很多问题。最好的方法是使用您要发布的文件。