我正在使用VB6(是的,我知道這是10歲:),但它的工作原理)。 VB.NET的答案也可以工作,所以如果你知道答案,請回答!如何通過網頁瀏覽器控件更改「表單元素」?
我是「手動」設置窗體中的下拉框,但「瀏覽器」似乎沒有更新。
如果在形式的通知,它有它要求你填寫的狀態的地方。 (即,加州等)。它看起來像MSIE中的javascript/DHTML彈出框(firefox不會這樣做,所以你需要使用MSIE,因爲這是webbrowser控件所依賴的)。如果我在「狀態」字段上點擊,會出現一個彈出框。然後我可以說爲加利福尼亞州選擇了「CA」,並更新它。 (現在它說「CA」)。
如果我progrmatically做到這一點,我會做這樣的事情:
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」已被選中?
非常感謝!
哇!感謝您的迴應,我不確定是否會因爲這個問題的獨特性而得到一個... 好的...我試過(對於這個特定的網頁示例),它似乎並不「相當「的工作(我承認我不知道這些財產和/或如何使用它)。但無論如何 - 我已經這樣做了,似乎沒有任何事情發生。 我使用的等效代碼(for fireevent,它的工作原理沒有錯誤)是: WebBrowser1.forms(2).elements(13).value =「CA」WebBrowser1.forms(2).elements(13 ).fireEvent(「onchange」,WebBrowser1.Document.createEventObject()) – user971774
你知道我需要爲這個特定的例子(上面的鏈接/例子)來獲取'state'屬性來更新嗎?非常感謝! – user971774
不......它看起來像選擇沒有onchange處理程序,並且設置選定的屬性應該工作,如果您找到正確的項目。在http://www.daftlogic.com/information-programmatically-preselect-dropdown-using-javascript.htm上有一個示例,您可以將它用作參考 –