2012-11-13 70 views
0

我不是一個JavaScript編碼器的太多,所以我尋求任何人誰可能能夠幫助我解決我的問題,主要問題是我想交換圖像以便通過選擇單選按鈕來選擇它們。Javascript圖像交換不激活功能

<script language="JavaScript"> 
function changeImage(newImage) 
{ 
    if document[imageName].src = eval(newImage + ".src"); 
} 
var img00700000232 = new Image(); 
img00700000232.src = "/2/00700000232.jpg"; 
var img00700000263 = new Image(); 
img00700000263.src = "/2/00700000263.jpg"; 
var img00700000270 = new Image(); 
img00700000270.src = "/2/00700000270.jpg"; 
var img00700000133 = new Image(); 
img00700000133.src = "images/TempImage.png"; 
var img00700000164 = new Image(); 
img00700000164.src = "images/TempImage.png"; 
var img00700000140 = new Image(); 
img00700000140.src = "images/TempImage.png"; 
var img00700000157 = new Image(); 
img00700000157.src = "images/TempImage.png"; 
</script> 



</head><body> 
<form name="test"> 
<input name="field" type="radio" value="00700000232" onchange="changeImage('img00700000232');">Prod1</input> 
<br/> 
<input name="field" type="radio" value="00700000263" onchange="changeImage('img00700000263');">Prod2</input> 
<br/> 
<input name="field" type="radio" value="00700000270" onchange="changeImage('img00700000270');">Prod3</input> 
<br/> 
<input name="field" type="radio" value="00700000133" onchange="changeImage('img00700000133');">Prod4</input> 
<br/> 
<input name="field" type="radio" value="00700000164" onchange="changeImage('img00700000164');">Prod5</input> 
<br/> 
<input name="field" type="radio" value="00700000140" onchange="changeImage('img00700000140');">Prod6</input> 
<br/> 
<input name="field" type="radio" value="00700000157" onchange="changeImage('img00700000157');">Prod7</input> 
<br/> 
</form> 
<img name="image_name" src="images/TempImage.png" /> 

這是爲了讓代碼生成的服務器端,以便即時通訊不知道這是否是一個問題,或者是否有我的代碼有問題,任何和所有幫助將非常是從ASP經典生成的代碼讚賞。

感謝 布拉德

回答

0

你有一個語法錯誤:

if document[imageName].src = eval(newImage + ".src"); 

應該是:

if(document["image_name"]) 
    document["image_name"].src = eval(newImage + ".src"); 

編輯:

一個更好的方式來獲得在 「IMAGE_NAME」 DOM元素雖然會將'name'屬性更改爲'id'並使用doc改爲ument.getElementById。

所以,這會是這樣的:

<img id="image_name" src="images/TempImage.png" />

function changeImage(newImage) 
{ 
    var imgEle = document.getElementById("image_name"); 
    if (imgEle){ 
     imgEle.src = eval(newImage + ".src"); 
    } 
} 

而且,你不一定需要在這裏使用eval。您可以參考在錨標記上的圖像的變量,如果你想

所以改變這種

<input name="field" type="radio" value="00700000164" onchange="changeImage('img00700000164');">Prod5</input> 

這個

Prod5

,你將不得不從

更改功能
function changeImage(newImage) 
{ 
    var imgEle = document.getElementById("image_name"); 
    if (imgEle && newImage){ 
     imgEle.src = newImage.src; 
    } 
} 
+0

非常感謝你的幫助,它完美地解決了它,我也沒有意識到它w作爲區分大小寫。 – Bradrob