问题:在做登陆框显示验证码的时候,常会给一个操作,点击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;

posted on 2012-04-13 16:47  日—月  阅读(197)  评论(0编辑  收藏  举报