单击“提交”后重定向
Redirect after clicking submit
所以在我使用了新的JavaScript之后。这是所有的代码。请记住,他们仍然缺少上身。没有把它放进去,因为它可能与我的问题无关。
<?php
// define variables and set to empty values
$nameErr = $surnameErr = $emailErr = $contact_numberErr = "";
$name = $surname = $email = $comment = $contact_number = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Name is required";
} else {
$name = test_input($_POST["name"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "Only letters and white space allowed";
}
}
if (empty($_POST["surname"])) {
$surnameErr = "Surname is required";
} else {
$surname = test_input($_POST["surname"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$surname)) {
$surnameErr = "Only letters and white space allowed";
}
}
if (empty($_POST["contact number"])) {
$contact_numberErr = "Please provide contact details";
} else {
$contact_number = test_input($_POST["contact number"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$contact_number)) {
$contact_number = "Only numbers allowed";
}
}
if (empty($_POST["email"])) {
$emailErr = "Email is required";
} else {
$email = test_input($_POST["email"]);
// check if e-mail address is well-formed
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid email format";
}
}
if (empty($_POST["comment"])) {
$comment = "";
} else {
$comment = test_input($_POST["comment"]);
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<div class="container" align="center">
<div class="row featured-boxes login">
<div class="col-md-6">
<div class="featured-box featured-box-secundary default info-content">
<div class="box-content">
<h4 align="center">Customer Feedback</h4>
<p><span class="error">* required field.</span></p>
<form method="post" action="insert_customer_feedback.php" name="customer_feedback">
<div class="row">
<div class="form-group">
<div class="col-md-12">
<span class="error"><label>Name</label> *<?php echo $nameErr;?></span>
<input type="text" value="" class="form-control input-lg" id="txtName" name="txtName">
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<div class="col-md-12">
<span class="error"><label>Surname</label> *<?php echo $surnameErr;?></span>
<input type="text" value="" class="form-control input-lg" id="txtSurname" name="txtSurname">
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<div class="col-md-12">
<span class="error"><label>E-mail</label> *<?php echo $emailErr;?></span>
<input type="text" value="" class="form-control input-lg" id="txtEMail" name="txtEmail">
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<div class="col-md-12">
<span class="error"><label>Contact Number</label> *<?php echo $contact_numberErr;?></span>
<input type="text" value="" class="form-control input-lg" id="txtContact_number" name="txtContact_number">
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<div class="col-md-12">
<label>Comment</label>
<input type="text" value="" class="form-control input-lg" id="txtComment" name="txtComment">
</div>
</div>
<input type="button" value="Submit" class="btn btn-primary pull-right push-bottom" onClick="Confirm(this.form)">
</div>
</div>
</form>
<script type="text/javascript">
function Confirm(form){
alert("Thank you for your feedback.");
form.submit();
window.location.href = "/index.php";
}
</script>
出于某种原因,当添加了这种平静的JavaScript(window.location.href="/index.php";)时,它不想将我的数据加载到MySQL中。
您可以简单地使用
function Confirm(form){alert("Thank you for your feedback.");form.submit();
window.location = "location";
}
如果你想在JavaScript中进行重定向,它应该是:
window.location.replace("yourwebsite.com/index.php");
如果你想用PHP做这件事,那么它应该是:
header('Location:index.php');
执行form.submit()
时,会告诉表单执行表单action属性中规定的操作。因此,它将自动重定向到那里设置的任何内容。
示例:
<form action="submit.php" method="POST">
您的代码将在用户解除警报消息后将用户重定向到submit.php
。当重定向到submit.php
时,您必须从那里处理重定向。
这是当然的,除非你使用AJAX来发布表单或类似的东西。
然后你可以添加:
window.location.href = "/index.html";
尽管在这种情况下,它最好放在AJAX调用的成功函数中:
function Confirm(form){alert("Thank you for your feedback.");form.submit(); window.location.href = "/index.html";}
相关文章:
- PHP表单提交和重定向
- 重定向到“提交”按钮上的其他控制器
- 表单提交时重定向页面
- 在Jquery easyui中,多个选项卡提交按钮点击事件正在重定向到主页(第一个)选项卡
- Iframe提交并将用户重定向回原始页面,但Iframe似乎仍然存在
- ajax表单提交后从客户端重定向
- 收到错误时如何防止在提交()上重定向
- Ajax 提交表单有时有效,有时直接重定向到操作网址
- 模拟隐藏表单提交&使用JavaScript重定向以实现安全支付
- 高级表单提交-单选、复选框和重定向
- 使用javascript创建Form元素,并在不重定向/刷新的情况下提交
- 如何使用单击此处提交重定向表单
- 使用jquery进度条重定向到表单提交后的另一个页面
- Javascript按钮,它提交联系人表单7表单,然后重定向到URL
- jQuery在表单提交和重定向后发出警报
- 选择其中一个单选按钮,然后单击“提交”,重定向其他页面
- 重定向提交按钮取决于选项
- 表单重定向提交不工作,为什么
- 如何使用Dropzone.js和Rails 4重定向提交页面
- 在警告框中单击ok后重定向提交的表单