首页 新闻 会员 周边

setTimeout等待的问题

0
[已关闭问题]

用户点提交按钮之后,我想在页面中显示一张图片,几秒钟之后再提交:
<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

charlie的主页 charlie | 初学一级 | 园豆:4
提问于:2010-05-15 22:39
< >
分享
其他回答(1)
0

CSDN第15楼的方法。

Astar | 园豆:40805 (高人七级) | 2010-05-16 09:58
0

用户提交 肯定是 激发了 Form.submit() 一般是 在表单元素中按了回车 或 点了 submit按钮 只需要注册 form.onsumit=function(){return false; } 就禁止了 提交

然后 做你要做的其他操作 比如 显示loading 的 图片

 然后执行 setTimeout(form.submit,5000) 就ok了

由于 form.submit() 方法 不会被 form.onsubmit 捕捉 所以你直接用就是了

Franky | 园豆:225 (菜鸟二级) | 2010-05-16 12:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册