0

我有以下代码,它使用 .getelementbyid 方法从下拉列表中选择一个项目。页面的工作方式是一旦选择了项目,就会出现一个新屏幕,允许向用户发送消息给某人(当您从下拉列表中选择项目时,表单使用 onchange 事件来处理)。运行此代码时,它会选择正确的项目,但不会重新填充页面。

With HTMLDoc2

.getElementById("navbar1").setAttribute "value", "getaddr"

End With

您如何强制表单识别您已选择下拉项目之一并处理 onchange 事件?

4

1 回答 1

3

我一直在寻找类似的答案,发现这可能有用。

我在网页上有一个 SELECT 元素(它有一个 ID),它有一个与之关联的 onchange javascript。我按如下方式访问它(使用您的示例):-

dim objURLpage as MSHTML.HTMLdocument

dim appIE as InternetExplorer

dim objSELECTelement as MSHTML.HTMLSelectElement 

'此类型将取决于您的 HTML 元素类型,但通常下拉列表是“SELECT”元素之间的“OPTION”元素

Set objURLpage = appIE.document  'I found this gives current web page that's open

set objSELECTelement = objURLpage.getElemebtById("navbar1")

objSELECTelement.selectedindex = 0

'数字取决于从“0”开始的下拉列表中项目的位置

objSELECTelement.FireEvent("onchange")
于 2013-05-15T05:18:40.170 回答