2011-09-25 20 views
0
<a href="javascript:void(0);" onclick="document.getElementById("capchaimage").src="captcha.php"><img id="captchaimage" src="http://website.org/captcha.php" border="0" width="70" height="20" alt="Captcha image"></a> 

驗證碼圖片成功加載,但無法使用上面的代碼重新加載。我究竟做錯了什麼?無法使用JS重新加載頁面上的自制驗證碼

在此先感謝。

回答

0

您正在用完全相同的字符串替換圖像src。

你可以嘗試使用一些「假」的論點來解決是:

http://website.org/captcha.php?fake=234342412341 

這樣的瀏覽器將被迫重新加載。每次當然需要有所不同(隨機或僅計數器)

1

您的圖像被緩存。在你的代碼仔細

document.getElementById("capchaimage").src="captcha.php?"+ (new Date).getTime(); 
+0

'Captcha image'仍然不起作用 –

+0

用'"'或'''(單引號)替換內部引號。 –

+0

感謝無價的幫助,Rob!我欠你 :) –

0

看:一個隨機字符串+(new Date).getTime()查詢字符串添加到圖像URL後

<a href="javascript:void(0);" onclick="document.getElementById("capchaimage").src="captcha.php"><img id="captchaimage" src="http://website.org/captcha.php" border="0" width="70" height="20" alt="Captcha image"></a> 
            ^     ^

我很驚訝你沒有得到JavaScript語法錯誤。我的建議是將代碼移到外部函數以避免複雜轉義。

相關問題