Javascript图像交换不激活功能

时间:2012-11-13 15:04:56

标签: javascript image swap

我不是一个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 classic生成的代码,因此代码是在服务器端生成的,所以我不确定这是一个问题还是我的代码是否有问题,将非常感谢任何和所有帮助。

由于 布拉德

1 个答案:

答案 0 :(得分:0)

您遇到语法错误:

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

应该是:

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

编辑:

获取“image_name”DOM元素的更好方法是将“name”属性更改为“id”并改为使用document.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。如果需要,可以在Anchor标记中引用图像变量

所以改变这个

<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;
  }
}