Javascript 将变量名与数字连接起来

Javascript 将变量名与数字连接起来,javascript,asp-classic,Javascript,Asp Classic,我有很多领域。(字段1、字段2、字段3、字段4等) 我想在用户单击某个字段时在该字段中插入一个图像。 如果我不得不依赖我的特殊(我的意思是以奥运会的方式)非算法过程,我将永远无法完成 如果您能以正确的方式提供帮助,我们将不胜感激 <span onclick=Flag(1)>Field 1 <%=field1%>< /span> <span onclick=Flag(2)>Field 2 <%=field2%>< /span>

我有很多领域。(字段1、字段2、字段3、字段4等)

我想在用户单击某个字段时在该字段中插入一个图像。 如果我不得不依赖我的特殊(我的意思是以奥运会的方式)非算法过程,我将永远无法完成

如果您能以正确的方式提供帮助,我们将不胜感激

<span onclick=Flag(1)>Field 1 <%=field1%>< /span>
<span onclick=Flag(2)>Field 2 <%=field2%>< /span>
<span onclick=Flag(3)>Field 3 <%=field3%>< /span>
<span onclick ..... < /span>

<script>
sub flag(x)
 Select Case x
  case 1
   field1="< img src="checkmark.png">"
   field2=""
   field3=""
   field4=""
  case 2
   field1=""
   field2="< img src="blue1.png">"
   field3=""
   field4=""
  case 3
   field1=""
   field2=""
   field3="< img src="blue1.png">"
  case ...
 end select
end sub
</script>
字段1
字段2
字段3
副旗(x)
选择案例x
案例1
field1=“”
field2=“”
field3=“”
field4=“”
案例2
field1=“”
field2=“”
field3=“”
field4=“”
案例3
field1=“”
field2=“”
field3=“”
案例
结束选择
端接头

这看起来像是您试图通过onclick方法调用vbscript子例程,但您不能这样做。 不过,您可以通过javascript实现这一点

<script>
var flds = ["checkmark.png","blue1.png","blue2.png"];
function Flag(x) {
    document.getElementById("field"+x).innerHTML = "Field " + x + " <img src='" + flds[x-1] + "'>";
}
</script>

<span id="field1" onclick="Flag(1);">Field 1</span><br />
<span id="field2" onclick="Flag(2);">Field 2</span><br />
<span id="field3" onclick="Flag(3);">Field 3</span>

var flds=[“checkmark.png”、“blue1.png”、“blue2.png”];
功能标志(x){
document.getElementById(“字段”+x).innerHTML=“字段”+x+”;
}
字段1
字段2
字段3
发生了什么:

脚本标记中的第一行声明一个数组,并将所有图像名称添加到其中

单击范围时,它将调用javascript函数标志,该标志将数字传递给它


使用从数组中提取的图像更新传递到标志中的数字的对应范围。(您从数组中的x中提取1,因为数组索引从0开始,而不是从1开始)

我不写任何ASP,但您可以将匹配的图像放在数组中,然后以这种方式添加它们吗?因此,您可以使用类似于
['checkmark.png'、'blue1.png'、…]的内容,并将其应用于字段。信不信由你,如果您使用的是Internet Explorer,则可以在页面中嵌入VBS而不是JavaScript!我从来没有听说过。但仅仅因为你可以,并不意味着你应该:)我完全同意-它只与IE浏览器兼容。。。当然o)