2012-02-03 116 views
1

我有一個WebBrowser控件中加載的網頁內頁上的JavaScript代碼的HTML是一樣的東西:運行WebBrowser控件

<input type='text' id='baa' name='baa' > 

我想用javacript改變baa輸入HTML元素的值代碼,我做到了:

webBrowser1.Navigate("javascript:document.getElementById('baa').value = 'baa'; void(0)"); 

但它在IE中不起作用。如何解決這個問題?提前致謝。

+0

您使用的是IE還是嵌入式WebBrowser控件? – 2012-02-03 01:20:43

+0

我想這會更好地問,你期望會發生什麼?當您使用IE查看同一頁面時,是否希望在WebBrowser控件中進行的更改顯示? – 2012-02-03 02:44:06

+0

@Jack我爲你提供了幾個答案,讓我知道它是否適合你。 – 2012-02-12 02:07:08

回答

0

如果你想運行腳本,你最好使用pre.NET和.NET WB控制附帶的.execScript,或者.InvokeScript,它只附帶.NET WB控制 - 使用這些是一個更好的主意因爲您可以使用VBScript以及JavaScript(JScript)。

要更改該值,只需按以下步驟操作,即假設WebBrowser控件名稱爲wbMain。這是在VB中,但在C#中執行它除了語言語法沒有區別,它很容易以任何你想要的語言閱讀和重用。

Dim hDoc as MSHTML.IHTMLDocument ' declare the html document object. 

Set hDoc = wbMain.Document ' Get a reference to the WB controls document object. 

hDoc.getElementById("baa").value = "baa" 

事實上,你甚至需要獲得一個參考或做任何上述情況,如果你願意,你可以直接使用它關閉WB控制。

wbMain.Document.getElementById("baa").value = "baa" 

如果你想改變它到別的東西,比如「NAA」你只是這樣做:

wbMain.Document.getElementById("baa").value = "naa" 

讓我知道這對你有幫助,或者如果您需要更多幫幫我。

乾杯。