1

私はjavascriptインジェクションを行っています、以下は私のコードです。

HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;

element.text = "function sayHello() { debugger; alert('Helloooo');" + " var resume=webBrowser1.Document.GetElementByTagName('resID');" +
               " var i; for (i=0;i<resume.length;i++){if (resume[i].checked){alert(\"hi....\");} }  }";

head.AppendChild(scriptEl);
System.Diagnostics.Debug.Print("html: {0}",head.InnerHtml);
webBrowser1.Document.InvokeScript("sayHello");`

私のチェックボックス名はresIDです。sayHello関数のアラート後のステートメントが実行されていません。このコードの結果は、Helloとしてアラートを出し、実行を停止します。チェックボックスの値にアクセスしているときにコードに間違いがありますか?私

4

1 に答える 1

2

行を変更します。

var resume=webBrowser1.Document.GetElementByTagName('resID');

var resume=document.getElementByTagName('resID');
于 2012-07-25T12:16:41.987 に答える