gpt4 book ai didi

javascript - 在网站上使用 html 中的 vba 更新依赖组合框

转载 作者:行者123 更新时间:2023-11-28 02:48:59 25 4
gpt4 key购买 nike

我在具有依赖组合框的站点上有此表单。

当通过 vba 更新第一个组合框(州)时,第二个组合框(自治市)需要填充您的列表。

我试过这种方式:

 Set ie = New InternetExplorer
ie.Visible = True
ie.Navigate "http://www2.correios.com.br/sistemas/agencias/"

Do Until (ie.ReadyState = 4)
Loop


'First combobox
ie.Document.all("estadoAgencia").Item(2).Selected = True
ie.Document.all("estadoAgencia").Item(2).Focus
ie.Document.all("estadoAgencia").Item(2).Click
ie.Document.all("estadoAgencia").Item(2).FireEvent ("onChange")


'Second combobox
ie.Document.all("municipioAgencia").Item(2).Selected = True 'Do not work here, this last line

我想我必须使用以下方法调用一些函数: ie.Document.parentWindow.execScript("函数名()")

但是我在这几行中找不到要调用的函数。

<script type="text/javascript">/* <![CDATA[ */
var _cf_cfcAgencia=ColdFusion.AjaxProxy.init('/sistemas/agencias/cfc/cfcAgencia.cfc','ProxyAjax');
_cf_cfcAgencia.prototype.getAgenciasProximas=function(latitude,longitude) { return ColdFusion.AjaxProxy.invoke(this, "getAgenciasProximas","45A0BE8C97B5F00E", {latitude:latitude,longitude:longitude});};
_cf_cfcAgencia.prototype.getBairro=function(UF,municipio) { return ColdFusion.AjaxProxy.invoke(this, "getBairro","45A0BE8C97B5F00E", {UF:UF,municipio:municipio});};
_cf_cfcAgencia.prototype.getUF=function() { return ColdFusion.AjaxProxy.invoke(this, "getUF","45A0BE8C97B5F00E", {});};
_cf_cfcAgencia.prototype.getMunicipio=function(UF) { return ColdFusion.AjaxProxy.invoke(this, "getMunicipio","45A0BE8C97B5F00E", {UF:UF});};
/* ]]> */</script>

我相信可以:

  _cf_cfcAgencia.prototype.getMunicipio=function(UF)

有人可以帮助我吗?

最佳答案

我在 IE8 和更早版本上工作了很多,但在 IE9+ 上似乎有一些变化。我们必须使用 dispatchEvent() 以不同方式连接事件。

   Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.Navigate "http://www2.correios.com.br/sistemas/agencias/"

Do Until (ie.ReadyState = 4)
Loop


'First combobox
' ie.document.all("estadoAgencia").Item(2).Selected = True
' ie.document.all("estadoAgencia").Item(2).Focus
' ie.document.all("estadoAgencia").Item(2).Click
' ie.document.all("estadoAgencia").Item(2).FireEvent ("onkeypress")
Set evt = ie.document.createevent("htmlevents")
evt.initevent "change", True, False
Set lst = ie.document.getelementbyid("estadoAgencia")
lst.selectedindex = 2 'select it as you were
lst.dispatchevent evt 'Fire the event with dispatchEvent

'Second combobox
ie.document.all("municipioAgencia").Item(2).Selected = True

See this question for further reference

关于javascript - 在网站上使用 html 中的 vba 更新依赖组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40243130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com