longmsdu

验证码点击刷新实现方法

重点代码:onClick="this.src=this.src+\'?\'+Math.random();"

其实就是请求新的验证码,为了请求到新的验证码而不是原来产生的验证码,在URL中加入了Math.random()随机数,this.src是img的属性,通过改变img的属性src就可以更换验证码的图片

如下是我实践的两个方案合一的案例:

HTML代码:

<tr>
<th>验证码:</th>
<td>
<input type="code" class="len250" name="code"/>
<img src="{:U(\'Index/verify\',\'\',\'\')}" onClick="this.src=this.src+\'?\'+Math.random();" id="code" title="点击刷新"/> <!--点击图片刷新-->
//img标签下的src就是调用Login控制器中的veryfy方法
            //后面的两个参数留空是必须的,其中第2个没实际意义,主要是为了第3个参数留空,这样设置可以取消伪静态后缀名,
           //否则默认的伪静态后缀名为html,将会导致无法正常加载图片
           <a href="javascript:void(0);" onclick="shuaxin()">看不清</a> <!--点击‘看不清’刷新-->
</td>
</tr>

JS代码:
<script type="text/javascript">
var verifyURL=$("img#code").attr(\'src\');//动态获取img-URL
function shuaxin(){
$("img#code").attr(\'src\',verifyURL+\'/\'+Math.random());
}
</script>

解除伪静态的方案:

HTML代码:


<tr>
<th>验证码:</th>
<td>
<input type="code" class="len250" name="code"/>
<img src="{:U(\'Index/verify\',\'\',\'\')}" onClick="this.src=this.src+\'?\'+Math.random();" id="code" title="点击刷新"/> <!--点击图片刷新-->
//img标签下的src就是调用Login控制器中的veryfy方法
            //后面的两个参数留空是必须的,其中第2个没实际意义,主要是为了第3个参数留空,这样设置可以取消伪静态后缀名,
           //否则默认的伪静态后缀名为html,将会导致无法正常加载图片
           <a href="javascript:void(0);" id="shuaxin">看不清</a> <!--点击‘看不清’刷新-->
</td>
</tr>

 
JS代码:

<script type="text/javascript">
$(function(){
$(\'#shuaxin\').click(function(){
var verifyObject = $(this).siblings(\'img\');
verifyObject.attr(\'src\',verifyObject.attr(\'src\')+\'?\'+Math.random());
});
});

</script>

发表于 2015-08-05 22:32  longmsdu  阅读(2001)  评论(0编辑  收藏  举报
 

分类:

技术点:

相关文章:

  • 2021-08-31
  • 2021-09-10
  • 2022-01-21
  • 2021-10-26
  • 2021-09-10
  • 2021-12-04
  • 2021-08-31
猜你喜欢
  • 2021-08-31
  • 2021-10-15
  • 2021-11-08
  • 2021-08-31
  • 2021-08-31
  • 2021-11-12
  • 2021-08-31
相关资源
相似解决方案