0

I have a Web Browser control on my C# application. I would like to get the value the user inputs in the text input of the form when he clicks the submit button (or changes the page).

I know I can use:

webBrowser1.Document.GetElementById("inputA").InnerText

To get the value of the input tag.

My question is, how can I detect the submit event so that I can store this value into a string?

4

1 回答 1

0

我不知道您在一个多月前发布此内容时是否仍在解决此问题,但如果您是,这里有一个选项:

如果您出示的文件是您的文件?如果您有能力稍微更改 html 代码,这可以相当简单地完成:

首先把它放在你的类声明上方:

[System.Runtime.InteropServices.ComVisibleAttribute(true)]

这样浏览器就可以看到你的类了。您还需要将您的类设置为文档的脚本对象。即:(只需要设置一次)

webBrowser1.ObjectForScripting = this;

对于 html,您可以执行以下操作:

<input type=submit onClick="window.external.doSomething()">

最后你需要在你的类中调用一个公共方法(obv):

public void doSomething()
{
   string whatever = webBrowser1.Document.GetElementById("inputA").InnerText;
}

我不太熟悉网络浏览器控件,所以如果您不自己制作网络文档,恐怕这行不通。

祝你好运

于 2013-11-25T17:28:45.150 回答