怎样使用jquery刷新验证码图片

当使用普通方法无法实时更新验证码图片时,由于浏览器缓存,可以添加时间戳或者随机数来解决这个问题。本文介绍了如何利用jQuery点击事件改变图片的Src属性,添加当前时间戳,从而实现验证码的刷新。附带的代码示例详细展示了如何在表单提交前后以及点击验证码图片时进行刷新操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之所以普通的做法无法实现实时更新,是因为被浏览器缓存了,所以加了个时间戳

参考:http://blog.youkuaiyun.com/fengyu09/article/details/50393856

How to refresh the src of <img /> with jQuery?

<img src="test.php" />

where test.PHP generates an image with a random number.

Itried :

$('#verifyimage').click(function() {
        $(this).attr('src',$(this).attr('src'));
    });

But it doesn't work.

Add a timestamp or a random number:

var timestamp = new Date().getTime();
$(this).attr('src',$(this).attr('src') + '?' +timestamp );

怎样使用jQuery刷新验证码图片?

(使用ajax读取django返回的 image/gif,不可行。)


在点击图片时,在其Src属性上增加一个随机数,使用时间戳即可。


附代码:

[java]  view plain  copy
  1. /** 
  2.  * 验证码,提交前验证 
  3.  */  
  4. $(document).ready(function(){  
  5.     var validated = false;  
  6.     $.ajaxSetup({  
  7.       dataType: "json",  
  8.       beforeSend: function(xhr){  
  9.           var csrftoken = $.cookie('csrftoken');  
  10.           xhr.setRequestHeader("X-CSRFToken", csrftoken);  
  11.       }  
  12.     });  
  13.     // 验证码输入失去焦点  
  14.     $("#id_code").blur(function() {  
  15.         //alert(1);  
  16.         $.post(  
  17.             $("#id_url_check").val(),  
  18.             {"code": $("#id_code").val()},  
  19.             function (data) {  
  20.                 if (data.status == true)  
  21.                     validated = true;  
  22.             }  
  23.         );  
  24.     });  
  25.   
  26.     // 提交表单  
  27.     $("form").submit(function(event){  
  28.         if (validated)  
  29.            return true;  
  30.         else {  
  31.             $( "span" ).text( "验证码不正确。" ).show().fadeOut( 3000 );  
  32.             // 更换验证码  
  33.             var timestamp = new Date().getTime();  
  34.             $("#id_img_captcha").attr("src", $("#id_url_captcha").val() + '?' +timestamp );  
  35.             event.preventDefault();  
  36.             }  
  37.         }  
  38.     );  
  39.   
  40.     // 点击更换验证码  
  41.     $('#id_img_captcha').click(function() {  
  42.         var timestamp = new Date().getTime();  
  43.         $(this).attr("src", $("#id_url_captcha").val() + '?'+ timestamp);  
  44. });  
  45. //  
  46. });  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值