2010-08-11 44 views
0
<input onkeydown="if(isNumber(event)) { this.value = isNumber(event); ajax_submit(this.form); bump_recruiter(); el('altsubmit').setAttribute('disabled', 'disabled'); return false; }" class="captcha" type="text" id="number" name="number" value=""> 

这就是html。我试图在webBrowser.Navigate方法内:如何在C#中使用WebBrowserControl调用此onkeydown事件?

javascript:ajax_submit(document.forms [0]); bump_recruiter(); el('altsubmit')。setAttribute('disabled','disabled');

图像没有刷新,并在执行完后都被破坏。我读了一下,把它放在一起:

HtmlElement answerField = _wBrowser.Document.GetElementById("number"); 
answerField.InnerText = answerString; 
answerField.InvokeMember("onKeyDown()"); 

这虽然没有工作,但我已经用完了想法。我正在阅读一般web浏览器控制文档,但不知道在哪里或要看什么。

回答

1

我相信这条线是不正确的:

answerField.InvokeMember("onKeyDown()"); 

它应该是:

answerField.InvokeMember("onKeyDown"); 
+0

我已经当这并不可靠地工作的情况下,使我有MSHTML和使用'IHTMLElement3'方法'FireEvent()'。 – kmfk 2010-08-11 18:29:40

+0

考虑到这个问题,上面的例子说明了为什么“字符串打字”的东西不好。如果我真的使用过一个属性或方法(不记得是哪一个),编译器可能会告诉我这个错误。 – Codygman 2015-07-04 06:17:19