我有这个表单,但是当我点击提交时,它会转到contactform/contact.php
。
我仍然需要action="contactform/contact.php"
,因为它包含信息。
点击提交后,我需要将其重定向到另一个链接示例google.com
。我知道有一种方法,但我无法记住它,它在提交的行上,我相信是在JavaScript中。
<form id="ajax-contact-form" method="post" action="contactform/contact.php">
<div class="form-option" id="main-font">Name:</div>
<div><input class="required inpt" type="text" name="name" value="" /></div>
<div style="clear:both"></div>
<div class="form-option" id="main-font">Email:</div>
<div><input class="required inpt" type="text" name="email" value="" /></div>
<div style="clear:both"></div>
<div class="form-option" id="main-font">Phone:</div>
<div><input class="required inpt" type="text" name="phone" value="" /></div>
<div style="clear:both"></div>
<div class="button-container">
<label id="load"></label><input name="submit" type="image" class="submit-btn" value="Submit" />
</div>
</form>
在contact.php中是必填字段的代码,如果它们丢失或没有。如果字段已填写并单击“提交”,则会将您带到contact.php,它会为您提供“确定”
我需要更改“确定”,将我带到example.com
if($mail)
{
echo 'OK';
if($autorespond =="yes")
{
include_once("autoresponde.php");
}
}
}
else
{
echo '<div class="error">'.$error.'</div>';
}
}
答案 0 :(得分:1)
JS无济于事。当它可以触发时,用户已经离开页面来命中表单处理程序脚本,这意味着表单页面本身及其上的任何代码都被关闭。
您应该只在表单处理程序中重定向
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
... handle form...
}
if ($form_processed_successfully) {
header("Location: http://google.com");
}
答案 1 :(得分:0)
也许这段代码应该有所帮助。这个jQuery代码将监听您的提交请求,并在重定向用户之前等待2秒。
$('#form').submit(function(e) {
e.preventDefault(); // Remove this line if you want to submit the form data as well.
var i = 0;
var x = setInterval(function() {
i++; // Just making sure that browser get enough time to submit data to server.
},1000);
if(i==2) {
window.location = "http://www.google.com"
clearInterval(x);
}
});