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