0

是我的页面,我有一个刷新验证码的功能(如果您单击“clicca qui”,它应该会更改图像)。我 100% 确定它在几个月前有效,现在它没有我改变任何东西。对该函数的调用是<a href="javascript: refreshCaptcha();">. 我注意到虽然在 iPhone 上它可以工作。所以我认为这是一些不接受“javascript:”语法的浏览器的问题。然后我把它改成了<a href="#" onclick="refreshCaptcha();return false;">(就像现在一样,“活”)。这没有改变,在 iPhone 上仍然有效(图像更改),在桌面浏览器上没有改变(尝试使用 IE 和 Firefox)。

Firebug 控制台什么也没说。

发生了什么?

4

1 回答 1

0

我似乎找不到原因,但在尝试获取 src 时返回了一个空字符串document.images[4].src。它只发生在FF,所以我在那里更难过。但是,您可以使用 访问图像源.getAttribute("src")并使用.setAttribute("src", "value").

试试下面的代码:

function refreshCaptcha(){ 
  var img = document.images['captchaimg'];
  imgSrc = img.getAttribute("src");
  newImgSrc = imgSrc.substring(0,imgSrc.lastIndexOf("?"))+"?rand="+Math.random()*1000;
  img.setAttribute("src", newImgSrc);
}

另外,请不要链接到您的网站。可以链接到小提琴,但是一旦您在网站上进行这些更改,您的问题将不再对社区有任何帮助。

于 2013-09-13T02:40:28.280 回答