我会尝试尽可能地解释这一点。
我有一个关于在email.php上提交操作的表单:
<form data-toggle="validator" role="form" method="POST" action="email.php">
<div class="row">
<!-- Full Name -->
<div class="form-group col-lg-4">
<label for="inputName" class="control-label">Name</label>
<input type="text" class="form-control" name="inputName" id="inputName" required>
</div>
<!-- email -->
<div class="form-group col-lg-4">
<label for="inputEmail" class="control-label">Email</label>
<input type="email" class="form-control" name="inputEmail" id="inputEmail" data-error="Incorrect Email Format" required>
</div>
<!-- phone number -->
<div class="form-group col-lg-4">
<label for="inputTel" class="control-label">Phone Number</label>
<input type="text" pattern="(?:\(\d{3}\)|\d{3})[- ]?\d{3}[- ]?\d{4}" name="inputTel" id="inputTel" data-minlength="10" maxlength="15" class="form-control" placeholder="123-456-7890" data-error="(123)-456-7890 | 1234567890 | 123-456-7890">
</div>
<!-- message -->
<div class="form-group col-lg-12">
<label for="content" class="control-label">Message</label>
<textarea name="content" id="content" class="form-control" rows="6" data-minlength="5" data-error="Message Must be longer"></textarea>
</div>
<!-- button -->
<div class="form-group col-lg-12">
<button type="submit" class="btn btn-default">Submit</button>
</div>
</div>
</form>
在email.php中成功处理表单后,我希望它返回到表单所在的页面并显示&#34;谢谢&#34;我创建的模态
目前我在email.php(验证后):
echo "<script>
$(window).load(function(){
$('#myModal').modal('show');
});
window.location.href="Websitename";
</script>";
这不起作用。发生的事情是页面被重定向但不显示模态。
有人可以请我帮忙吗?
答案 0 :(得分:0)
我认为问题在于
window.location.href="Websitename";
当浏览器看到此行时,她将自动找到浏览器,这意味着立即发出新请求。 让我解释 : 您的表单发送请求到email.php -----&gt;将回复作为javascript发送 - &gt; javascript请求“网站名称”。 为了解决这个问题,你应该将window.location.href放在timeout函数中,并在window.load之后触发超时。 请检查:
echo "<script>
function deferredFunction(){
window.location.href="Websitename";
}
$(window).load(function(){
$('#myModal').modal('show');
setTimeout(deferredFunction,5000);
});
</script>";
希望帮助!!