Javascript HTML表单同时提交和重定向
我的网站上有一张表格不是我写的,而且做表格的人也不是很好(或者说联系不到),所以现在老板们想让我去修改它。目前,提交表单会发送一个emal并打开一条感谢消息。不幸的是,这个弹出窗口看起来更像是一条错误消息,而不是一条成功消息,所以我被要求将提交按钮重定向到一个真正的感谢页面,而不是一个弹出窗口。现在我对PHP不是很在行,所以我需要一些帮助 HTML: 我希望submit按钮重定向到“contact thanker.html”,它不是用PHP编写的。(thankyou.html是用PHP编写的,但它只包含文本)Javascript HTML表单同时提交和重定向,javascript,php,html,forms,Javascript,Php,Html,Forms,我的网站上有一张表格不是我写的,而且做表格的人也不是很好(或者说联系不到),所以现在老板们想让我去修改它。目前,提交表单会发送一个emal并打开一条感谢消息。不幸的是,这个弹出窗口看起来更像是一条错误消息,而不是一条成功消息,所以我被要求将提交按钮重定向到一个真正的感谢页面,而不是一个弹出窗口。现在我对PHP不是很在行,所以我需要一些帮助 HTML: 我希望submit按钮重定向到“contact thanker.html”,它不是用PHP编写的。(thankyou.html是用PHP编写的,但
感谢您的帮助在成功处理程序中执行以下操作:
window.location = '/thankyou.html';
成功后,您应该在javascript中使用document.location您应该能够简单地删除javascript并向
添加action=“theppfile.php”
,header()重定向是毫无意义的,因为您使用的是ajax调用-您所要做的只是重定向ajax调用,而这在后台是不可见的。您需要向页面返回一条成功消息,然后让JS代码执行重定向。@MarcB如果您跳过AJAX并让表单指向它,就像Kevin提到的那样,它会有一些用处。很抱歉,我不得不问:什么是成功处理程序?@LauraSchoebelsuccess:function(result){
它是从哪里开始的?success:function(结果){window.location='/contact thanky.html'我需要在contactsubmit.php中更改任何内容吗?
<?php
if($_POST){
$mailBody = "Name:" . $_POST['Name'] . "\nPhone:" . $_POST['phone'] . "\nEmail:" . $_POST['email'] . "\nMessage:\n" . $_POST['message'];
mail("a@harbordev.com","Website request from " . $_POST['Name'], $mailBody);
}
header("location:/thankyou.html");
?>
$(document).ready(function() {
$("#contact-submit-btn").click(function() {
var form_data = {
Name:$("#Name").val(),
Company:$("#Company").val(),
phone:$("#phone").val(),
email:$("#email").val(),
message:$("#message").val(),
is_ajax: 1
};
$.ajax({
type: "POST",
url: "/contactsubmit.php",
data: form_data,
cache: false,
success: function(result){
alert(result);
}
});//ajax
return false;
});
});
window.location = '/thankyou.html';