【发布时间】:2018-09-23 11:04:01
【问题描述】:
当您提交时我有一个表格,它会将您插入的数据作为电子邮件发送给某人。然后页面会将您重定向到主页。
我想要的是防止服务器端进行重定向。而且我需要能够在提交表单而不是服务器端后选择重定向的位置。
所以我做了什么,我使用 Javascript 来防止重定向,然后我确定提交后去哪里。
这是表格
$("#CustomerEnquiryForm").submit(function (e)
{
e.preventDefault();
// My redirection //
if (window.location.href.indexOf("nodeId") > -1)
{
window.location = "/en/our-service/"
}
else
{
window.location = "/en/"
}
});
<form id="CustomerEnquiryForm" action="https://test.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8" method="POST">
<label for="first_name">First Name</label>
<input id="first_name" required="required" name="first_name" type="text" />
<br>
<label for="last_name">Last Name</label>
<input id="last_name" required="required" name="last_name" type="text" />
<br>
<label for="company">Company</label>
<input id="company" required="required" name="company" type="text" /><br>
<label for="phone">Phone</label><input id="phone" name="phone" type="text" />
<br>
<label for="mobile">Mobile</label>
<input id="mobile" required="required" name="mobile" type="text" />
<br>
<label for="email">Email</label>
<input id="email" required="required" name="email" type="text" /><br>
</form>
我可以阻止服务器重定向。并且我的重定向有效..但主要问题..表单不再发送电子邮件。
如何解决这个问题?
谢谢。
【问题讨论】:
-
通常由获取表单数据的脚本完成(在您的情况下为
https://test.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8),您只需将重定向代码放在那里 -
有这个表单的页面是否在同一个
test.salesforce.com上? -
使用隐藏的 iframe 或 ajax 提交表单
标签: javascript jquery html ajax forms