用户点提交按钮之后,我想在页面中显示一张图片,几秒钟之后再提交:
<form method="post" action="index.php?ac=exchange" name="exchangefrm" onsubmit="return check_exchange(this);">
<script type="text/javascript">
function check_exchange(form) {
form = document.exchangefrm;
if(form.linkman.value.trim() == '') {
alert('未填写联系人。');
return false;
}
else {
if( confirm('您确定联系方式正确并抽取此礼品吗?') ){
document.getElementById('loading').style.display='block';
document.getElementById('message').style.display='none';
setTimeout(function(){ form.submit();}, 5000);
}
else
{
return false;
}
}
String.prototype.trim = function() {
return this.replace(/(^\s*)|(\s*$)/g, "");
}
</script>
现在的问题是,loading 图片根本没显示5秒,刷一下就过去了
用过这个帖子里面的方法,都不能解决问题,要么是能显示5秒loading,却不能正常提交
http://topic.csdn.net/u/20100514/16/2e09281d-6e17-46be-a4c8-7fdd19c7a744.html?seed=933279973&r=65459617#r_65459617
CSDN第15楼的方法。
用户提交 肯定是 激发了 Form.submit() 一般是 在表单元素中按了回车 或 点了 submit按钮 只需要注册 form.onsumit=function(){return false; } 就禁止了 提交
然后 做你要做的其他操作 比如 显示loading 的 图片
然后执行 setTimeout(form.submit,5000) 就ok了
由于 form.submit() 方法 不会被 form.onsubmit 捕捉 所以你直接用就是了