问题:在做登陆框显示验证码的时候,常会给一个操作,点击a标签显示验证码。大概结构如下
<img id="img1" /> <a id="a1" href="javascript:void(0)">点击我显示验证码</a> <script> a1.onclick=function(){ //点击a1,请求验证码地址,并且显示 img1.src='http://.......'; } </script>
如果你的代码是这样的,那在ie6下,这个请求将会失败。
原因?未知。但是可以得出这样的结论:也就是本文的题目。如果给a标签添加事件函数,事件函数中的http请求会失败。
解决办法。阻止默认事件。
<img id="img1" /> <a id="a1" href="javascript:void(0)">点击我显示验证码</a> <script> a1.onclick=function(){ //1 event.returnValue=false; img1.src='http://.......'; //2 return false; } </script>
可以通过以上注释中的任一方式来解决这个问题。
猜测下原因,估计是因为没有阻止默认a的跳转事件,导致ie6以为要跳转页面,这时候就阻止了页面内的请求。
总结:
以后给a,添加事件时候,注意在末尾加上return false;