是否可以保持表单提交以显示通知几秒钟?
在回调表单提交后页面重新加载之前,我想在这些行中显示一些内容:“感谢您的回拨请求。我们会尽快与您联系。”
答案 0 :(得分:1)
您可以使用preventDefault()来阻止表单提交,显示您想要的信息,并在所需的延迟后在setTimout()中提交()表单。
答案 1 :(得分:1)
如果您使用AJAX提交,则无需刷新。
以此为例:
<form>
<input type="text" name="fname"/>
<input type="text" name="lname"/>
<input type="text" name="email"/>
<input type="text" name="address"/>
<input type="password" name="password"/>
<!--
Here you have two options. Use <a></a> or an input with type="submit"
since you're using AJAX, I reccomend using <a href="#" id="submit_form">Submit</a>
-->
<a href="#" id="submit_form">Submit</a>
</form>
感谢您的回电请求。我们很快就会联系。
在javascript上:
<script>
$(document).ready(function(){
$("#submit_form").bind("click",function(){
//do a $.post();
$.post("submit/this.php",something : "content_of_something",
function(response){
if(response==1)//or whatever you want
$('#some_id').fadeIn(function() {
setTimeout(function(){
window.location.reload();
},3000);
});
else
alert("Error ocurred");
}
);
});
});
</script>
在PHP上,检查变量是否通过$ _POST到达服务器(出于调试目的,在服务器上执行var_export($ _ POST),并在客户端在函数(响应)之后立即发出警报(响应))。如果一切都按照预期的方式进行,那么echo 1(所以响应将匹配1 == response == 1),否则,你可以回应你想要的其他内容。