Как обновить «элемент формы», когда он изменяется с помощью элемента управления веб-браузера? - PullRequest
0 голосов
/ 29 сентября 2011

Я использую VB6 (да, я знаю, что ему 10 лет :), но он работает).Ответы VB.NET также могут работать, поэтому, если вы знаете ответ, пожалуйста, ответьте тоже!

Я «вручную» настраиваю выпадающий список в форме, но «веб-браузер» не обновляется.

Вот пример

Если вы заметили в форме, есть место, где вас просят заполнить штат.(Т. Е. Калифорния и т. Д.).Это похоже на всплывающее окно javascript / DHTML в MSIE (firefox не делает то же самое, поэтому вам нужно использовать MSIE, поскольку именно на это полагается элемент управления веб-браузера).Если я «нажму» на поле «состояние», появится всплывающее окно.Затем я могу сказать, выберите «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')

Однако - в элементе управления веб-браузера -- это все еще появляется, как будто ничего не изменилось.(На самом деле это так, т. Е. Если я отправлю форму, она предоставит правильную информацию), но она просто не «обновит» ее.

Есть ли у вас какие-либо идеи, как я могу сделать «принудительное»«обновить (либо программно, либо с помощью некоторого обновления javascript / dhtml), которое затем корректно« обновит »поле, чтобы показать, что был выбран« CA »?

Большое спасибо!

1 Ответ

0 голосов
/ 29 сентября 2011

Последняя версия VB, которую я использовал, была VB3, так что прости мою грамматику VB :)

Если у события изменения есть обработчик, который вы хотите смоделировать

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

...