2016-07-11 38 views
0

我正在使用下面的代碼更改顯示的圖像。當我向html添加表單標籤時,我只在IE中更改下拉列表時顯示'paint is undefined'的錯誤。我花了很多年尋找,並試圖找出它,但沒有運氣。有任何想法嗎? TKS添加表單標記時出現未定義錯誤

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
<script type="text/javascript"> 

    function callAFunction(SelectBox) 
    { 
     var caption=[ 
      'Default Image Caption', 
      'Caption1', 
      'Caption2', 
      'Caption3', 
      'Caption4', 
      'Caption5', 
      'Caption6', 
      'Caption7', 
      'Caption8', 
      'Caption9'], 
     bp='images/', 
     imgnum=8, 
     thumb=document.getElementById('thumb'), 
     description=document.getElementById('caption'); 
     thumb.src=bp+'picture'+paint.value+vinyl.value+'.jpg'; 
     description.innerHTML=caption[SelectBox.value]; 
    } 

</script> 
</head> 
<body> 


<form> 
<img src="images/picture1.jpg" alt="" id="thumb"> 

<div id="caption">Caption1</div> 

<label>Change the Paint: </label> 
<select id="paint" name="paint" onChange="callAFunction(this); return false;"> 
    <option value="1">Image 1</option> 
    <option value="2">Image 2</option> 
    <option value="3">Image 3</option> 
    <option value="4">Image 4</option> 
    <option value="5">Image 5</option> 
    <option value="6">Image 6</option> 
    <option value="7">Image 7</option> 
    <option value="8">Image 8</option> 
    <option value="9">Image 9</option> 
</select><br /> 

<label>Change the Vinyl: </label> 
<select id="vinyl" name="vinyl" onChange="callAFunction(this); return false;"> 
    <option value="1">Image 1</option> 
    <option value="2">Image 2</option> 
    <option value="3">Image 3</option> 
    <option value="4">Image 4</option> 
    <option value="5">Image 5</option> 
    <option value="6">Image 6</option> 
    <option value="7">Image 7</option> 
    <option value="8">Image 8</option> 
    <option value="9">Image 9</option> 
</select> 

</form> 
</body> 
</html> 
+2

你已經使用過'paint.value',但是你沒有定義它。請定義它並重試。 –

+0

添加'paint = document.getElementById('paint');' –

回答

0

嘗試

paint[paint.selectedIndex].value 
1

paint.value不存在。改爲使用document.getElementById("paint").value。相同的vinyl.value

+0

好的會給它一個去 - 爲什麼它會在其他瀏覽器中工作,但不是 – peterbw321