如何通过webbrowser控件更改“表单元素”时如何刷新?

时间:2011-09-29 18:52:55

标签: vb6 browser controls dhtml

我正在使用VB6(是的,我知道它已经10岁了:),但它确实有效)。 VB.NET的答案也可以,所以如果你知道答案,也请回答!

我“手动”设置表单中的下拉框,但“webbrowser”似乎没有更新。

Here's an example

如果您在表单中注意到它有一个地方,它要求您填写一个州。 (即加利福尼亚等)。它看起来像MSIE中的javascript / DHTML弹出框(firefox不会这样做,所以你需要使用MSIE,因为这是webbrowser控件所依赖的)。如果我“点击”“状态”字段,则会出现一个弹出框。然后我可以说为加利福尼亚选择“CA”,然后更新它。 (现在说“CA”)。

如果我以程序方式这样做,我会做类似的事情:

WebBrowser1.forms(2).elements(13).value = "CA" ' (sets it to 'california')
WebBrowser1.forms(2).elements(13).item(9).selected = true (makes sure it is 'selected')

但是 - 在webbrowser控件中 - 仍然显示为好像什么都没有改变。 (实际上它有,即,如果我提交表格,它将提交正确的信息),但它只是不“更新”它。

您是否知道如何进行“强制”刷新(通过编程或通过某些javascript / dhtml刷新),这将正确地“更新”该字段以显示已选择“CA”?

非常感谢!

1 个答案:

答案 0 :(得分:0)

我使用的最后一个VB版本是VB3,原谅我的VB语法:)

如果更改事件具有您要模拟的处理程序

WebBrowser1.forms(2).elements(13).item(9).fireEvent(“onchange”,WebBrowser1.Document.createEventObject())