我创建了一个HTA页面,以获取从Active Directory过滤的工作站的状态。 目前,我添加了按钮,为具有旁边按钮的工作站执行特定操作。
由于我正在添加越来越多的功能,我想使用下拉框。 具有工作站的列表的大小可以根据用户的输入而变化,因此我在下拉框中给出了恶意的名称。
我现在遇到的问题是我无法检索VBScript代码中的选定值。
如果我把listbox1.value
我得到正确的值作为回报。
如果我使用列表框的名称放在这样的变量中,它就不起作用。
strlistbox = "listbox1
listbox1.value
我收到错误。
这是我正在使用的代码的一部分。我总共有760行,所以我不会在这里粘贴所有内容。
VBScript代码:
Sub RunOption(strCPU)
dim lstname
dim intNumber
lstname = "list"&strCPU 'Value of lstname = listWPBED3702885
msgbox listWPBED3702885.value 'If I try this messagebox, I get the value of the selected option form the dropdown list names "listWPBED3702885"
intNumber = lstname.value 'This doesn't seem to work
Select Case list 'intNumber
Case 1 Do something
Case 2 Do something
Case 3 Do something
Case 4 Do something
End Select
End Sub
HTML code:
strHTML = strHTML & "<td width='1'><select class='select' size='1' title='list" & _
objRecordSet.Fields("Name") & "' name='list' onChange=""RunOption('" & _
objRecordSet.Fields("Name") & "')"">"& _
"<option value='0' selected>Options...</option>" & _
"<option value='1'>C:\ Drive</option>" & _
"<option value='2'>Computer Management</option>" & _
"<option value='3'>Event Viewer</option>" & _
"<option value='4'>MAC Address</option>" & _
"</select></td>"
答案 0 :(得分:4)
您无法将变量设置为字符串,并期望该字符串的行为类似于HTML代码的元素。您需要获取名称或ID引用的元素。通常的方法是使用这样的唯一ID定义要使用的元素:
<select id='uniquevalue' ...>
...
</select>
然后通过getElementById()
获取该元素:
Set listbox = document.getElementById("uniquevalue")
MsgBox listbox.value