2013-06-26 35 views
1

我是一個PHP noob,試圖隨機圖像生成器隨機圖像按鈕。當我點擊按鈕時,我想要一個新的圖像出現。 這只是一次只能工作。我應該改變什麼才能使其工作多次?php更改圖像按鈕只能工作一次

代碼:

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 

<script> 

function changeImage() 
{ 
var img = document.getElementById("image"); 
img.src="/cats/<?php echo rand (1,92);?>.jpg"; 
return false; 
} 

</script> 

</head> 

<body> 

<img id="image" src="/cats/<?php echo rand (1,92);?>.jpg" width="500" height="500" /> 
<br><br><br> 
<button id="clickme" onclick="changeImage();">Click to change image!</button> 
</body> 

提前感謝!

+2

您必須使用javascript生成新的隨機數,而不是使用php。 – Fracsi

回答

1

調整你的JavaScript代碼:

function changeImage() 
{ 
    var random = Math.round(1+Math.random()*92); // random between 1 and 92 
    var img = document.getElementById("image"); 
    img.src = "/cats/" + random + ".jpg"; 
    return false; 
} 
0

的PHP代碼運行,只有當頁面加載一次。

使用javascript隨機數生成器

1

PHP是服務器端語言。這與客戶端的javascript不同。 PHP代碼在用戶第一次訪問頁面時執行,並用於生成頁面內容。瀏覽器看到這個內容,但它從來沒有看到實際的PHP代碼。另一方面,Javascript被髮送到瀏覽器,並且瀏覽器在用戶打開頁面時動態地使用它。例如,下面的行:

<img id="image" src="/cats/<?php echo rand (1,92);?>.jpg" width="500" height="500" /> 

將被髮送到瀏覽器,例如:

<img id="image" src="/cats/37.jpg" width="500" height="500" /> 

這便成爲所有瀏覽器看到。在用戶刷新頁面之前,每次運行JavaScript函數時,都會顯示圖像37.jpg

+0

很好的回答,+1。除了你只解釋了爲什麼它不起作用,但沒有提供一個解決方案 - 他需要做的就是用''而不是PHP'在'changeImage()'中產生隨機整數。這將是很好的編輯你的答案,以解決他的問題(通過更新PHP的rand()與其等效的Javascript),因爲它是一個非常簡單的變化 - 請參閱下面的Fracsi的答案。 – Ennui