0

我为验证码创建了 PHP GD 图像,image.php 每次生成动态验证码图像时都会调用该文件。


signup.php我有

<img alt="" src="image.php"> 
<input type="button" id="btn" value="cant read captcha">
<!--btn is to load another captcha-->

脚本.js

$("#btn").click(function(){  
    $("img").attr('src','image.php');
});

适用于 Chrome、Safari 和 Opera,但不适用于 IE 和 Firefox。

我该如何解决这个问题或有任何替代解决方案?

4

5 回答 5

3

dom加载后代码是否运行?如果没有,请尝试:

$(function(){
  $("#btn").click(function(){ 
    $("img").attr('src','image.php');  
  });
});

你的控制台有错误吗?

于 2012-04-05T18:59:05.547 回答
2

尝试在 url 末尾添加随机数,这可能是缓存问题,例如

$("#btn").click(function(){  
    $(this).prev("img").attr('src','image.php?rnd='+Math.random());
});
于 2012-04-05T19:12:14.593 回答
1

也许尝试这种添加查询字符串的方法来防止浏览器缓存。

如何在 jQuery 中重新加载/刷新元素(图像)

于 2012-04-05T19:06:26.033 回答
1

试试这个代码

$(function(){

  $("#btn").live("click",function(){ 

       $("img").attr('src','image.php');  

  });
});
于 2012-04-05T19:08:00.417 回答
0

$("image").attr("src","image.php?timestamp=" + new Date().getTime());


我认为这是缓存
firefox 的问题,即不会一次又一次地从源中选择图像,
但它通过更改图像名称从缓存中加载
它现在在所有浏览器中都为我工作,
thanx 每一个

于 2012-04-06T04:53:54.443 回答