提交时 如何 使用gif动画 用sumbit恐怕不能,你的效果通常是ajax提交实现的,这个需要通过ajax提交表单,此时主页面可以显示动态的效果,当提交完毕效果可以消失 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 谢谢xiaolei1982 ,ajax我没用过,学一下有没有什么简单的办法 因为提交后,本页面即将unonload,一些动态效果会停滞。最好的办法当然是Ajax,不过也可以使用隐藏iframe:<div id="contentDiv" style="display:none"> <!-- 这里是form --> <form target="doAction">...</form></div><iframe style="display:none" name="doAction"></iframe>这样form的数据会提交到隐藏的 doAction 里,原页面不受影响,可以正常显示动画在 doAction 里可以增加 onload 事件回应主页面的处理结果window.onload = function(){ alert('处理成功'); parent.init();} 没用过ajax的话,就在页面嵌套一个iframe,然后把form的target属性为iframe的name,让提交在ifrmae中进行。如果用ajax就相对好一点但复杂一点。............<form ............... target="save">.......</form><iframe name="save" style="display:none"></iframe>.......... 同楼上,这种效果一定要用ajax来实现的.不然你打开gif图层的时候关闭的时候没办法判断他已经完全读取数据了. 又撞了。其实也不一定非要ajax,只是ajax容易管理,iframe的话就要在提交目标页面处理完后用几句JS把那个图层重新关闭,并提示提交成功。以前我的后台页面也用这种方法,后来用了ajax,感觉用起来爽很多。 我试了一下,把form 的target 指向一个 不显示的iframe,提交后,动画确实动起来了,但是,提交处理结束后,应该会转到另一个页面,现在就停在这里了,一直播放动画这是什么原因? 另外,问一下,如果用ajax,我应该怎么做呢? <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <meta name="author" content="tonyhl[at]126.com" /> </head> <body onunload="window.opener.opener.aaa();"> <h2>Ajax应用实例: 注册模块</h2> <div id="Layer1"> <div id="msg"></div> </div> ID: <input type="text" id="regid" /> Password: <input type="password" id="regpassword" /> <input name="f" type="file" /> <input type="submit" id="regsubmit" value="注册" onclick="Check()" /> <h2>当注册ID为 tony的用,后台ID已存在,返回提示信息<br /> 突出示无刷新效果,服务器端程序将自行百万加法运算 </h2> </body> </html> <script language="javascript">function GE(a){return document.getElementById(a);} function Check(){ if(GE('regid').value==''){GE('msg').innerHTML='ID不能空';return false} if(GE('regpassword').value==''){GE('msg').innerHTML='password 不能空';return false} var X=new ActiveXObject("Msxml2.XMLHTTP"); if(X){ GE('regsubmit').disabled=true; X.onreadystatechange=function(){ if(X.readyState==4){ if(X.status==200){ GE('msg').innerHTML=""; alert(X.responseText) ; } else{GE('msg').innerHTML=X.statusText;} } else{GE('msg').innerHTML="<img src='1.jpg'>";}//你的img动画 }; X.open('POST','ajax3.asp',true); X.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); var SendData = 'regid='+GE('regid').value+'®password='+GE('regpassword').value+'&file='+GE('f').value //传递变量 X.send(SendData) } else{ GE('msg').innerHTML='你的不支持XMLHttpRequest' } }</script><% Dim regid, regpassword, str regid=Request.Form("regid") regpassword=Request.Form("regpassword") f=Request.Form("file") Response.Write regid & regpassword '利用变量进行数据库操作Response.End %>完全可以看到效果 之所以要用AJAX或是IFRAME 是因为,在点击提交之,就会把当前的浏览器锁住. 等服务器处理完数据.再通知浏览器加载.用AJAX提交就不会锁住浏览器,这时用户可以查看网页的其它内容.. 如果要显示后台正在处理数据的步骤呢,该如何?比如显示“正在查找数据”“正在生成表”“正在生成HTML文件”,完成进度是多少。 提交后,重新赋值IMG的SRC,即可。如下:<html><head><meta http-equiv="pragma" content="no-cache"><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>新建网页</title></head><body><img src="http://gg.blueidea.com/2007/dw/dw.gif" id="jia"><p><a href="javascript:">提交表单,动画停止</a><p><a href="#" onclick="document.all.jia.src=document.all.jia.src";>播放动画</a></body></html> 我试了一下,把form 的target 指向一个 不显示的iframe, 提交后,动画确实动起来了, 但是,提交处理结束后,应该会转到另一个页面,现在就停在这里了,一直播放动画 这是什么原因? 可以这样:把动画放在response页面里,而不是request页面里。 你在提交前重新指定一下这个img的src,要确保这个图片被重新载入了,这样才会有动画。 WEB开发发送Email和打印Excel表 一个简单JS的注册 火狐 为什么没效果。 如何使用js,获取所在容器的宽度? onclick="return on()";当on()返回flase,回怎样?那返回为true,又会怎么样? 一个令人苦恼的问题 嵌套div 层次查找的问题 谁能帮我把下面这段JS简化一下呀,本人比较笨呐。 谁帮我看看这个。。。 它怎样才能停下来啊!!!!!! 这段代码能输入中文? javascript 根据时间判断周数? 高分求助简单问题,在线等待
有没有什么简单的办法
<!--
这里是form
-->
<form target="doAction">
...
</form>
</div>
<iframe style="display:none" name="doAction"></iframe>这样form的数据会提交到隐藏的 doAction 里,原页面不受影响,可以正常显示动画在 doAction 里可以增加 onload 事件回应主页面的处理结果window.onload = function(){
alert('处理成功');
parent.init();
}
<form ............... target="save">
.......
</form>
<iframe name="save" style="display:none"></iframe>
..........
提交后,动画确实动起来了,
但是,提交处理结束后,应该会转到另一个页面,现在就停在这里了,一直播放动画
这是什么原因?
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name="author" content="tonyhl[at]126.com" />
</head>
<body onunload="window.opener.opener.aaa();">
<h2>Ajax应用实例: 注册模块</h2>
<div id="Layer1">
<div id="msg"></div>
</div>
ID: <input type="text" id="regid" />
Password: <input type="password" id="regpassword" />
<input name="f" type="file" />
<input type="submit" id="regsubmit" value="注册" onclick="Check()" />
<h2>当注册ID为 tony的用,后台ID已存在,返回提示信息<br />
突出示无刷新效果,服务器端程序将自行百万加法运算
</h2>
</body>
</html>
<script language="javascript">
function GE(a){return document.getElementById(a);}
function Check(){
if(GE('regid').value==''){GE('msg').innerHTML='ID不能空';return false}
if(GE('regpassword').value==''){GE('msg').innerHTML='password 不能空';return false}
var X=new ActiveXObject("Msxml2.XMLHTTP");
if(X){
GE('regsubmit').disabled=true;
X.onreadystatechange=function(){
if(X.readyState==4){
if(X.status==200){
GE('msg').innerHTML="";
alert(X.responseText) ;
}
else{GE('msg').innerHTML=X.statusText;}
}
else{GE('msg').innerHTML="<img src='1.jpg'>";}//你的img动画
};
X.open('POST','ajax3.asp',true);
X.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
var SendData = 'regid='+GE('regid').value+'®password='+GE('regpassword').value+'&file='+GE('f').value //传递变量
X.send(SendData)
}
else{
GE('msg').innerHTML='你的不支持XMLHttpRequest'
}
}
</script>
<%
Dim regid, regpassword, str
regid=Request.Form("regid")
regpassword=Request.Form("regpassword")
f=Request.Form("file") Response.Write regid & regpassword '利用变量进行数据库操作
Response.End
%>完全可以看到效果
用AJAX提交就不会锁住浏览器,这时用户可以查看网页的其它内容..
<head>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页</title>
</head>
<body>
<img src="http://gg.blueidea.com/2007/dw/dw.gif" id="jia"><p>
<a href="javascript:">提交表单,动画停止</a><p>
<a href="#" onclick="document.all.jia.src=document.all.jia.src";>播放动画</a>
</body>
</html>
提交后,动画确实动起来了,
但是,提交处理结束后,应该会转到另一个页面,现在就停在这里了,一直播放动画
这是什么原因?
把动画放在response页面里,而不是request页面里。