我有以下代码,通过使用.getelementbyid方法从下拉列表中选择一个项目。页面的工作方式是选择项目后,会弹出一个新屏幕,允许向某人发送消息(当您从下拉列表中选择项目时,表单会使用onchange事件进行处理)。运行此代码时,它会选择正确的项目,但页面不会重新填充。
With HTMLDoc2
.getElementById("navbar1").setAttribute "value", "getaddr"
End With
如何强制表单识别您已选择其中一个下拉项并处理onchange事件?
答案 0 :(得分: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")