IHTMLFormElement.submit不执行onsubmit怎么搞?
解决方案 »
- delphi ADOQuery的什么sql函数,可能代替Access中的replace
- 很简单的问题:如何得到pagecontrol中的一个Tabsheet中的控件个数ComponentCount
- 我想做一个发邮件的程序,D5的,怎么得到邮件服务器的信息啊?
- 小问题
- 谁知道CSDN的搜索链接?前一段时间论坛上有链接,现在不知道去哪里,请帮助!
- 简单问题!
- 帮帮我 ,局域网中,苹果机系统怎么设置才可以和 Win2000 Server / NT 4.0 Server 互联 ? 硬件设置应该没有问题
- HTML HELP的制作
- JEDI的网站地址是什么?现在怎么上不去了?
- 请问c里面的null怎么用pascal的语法表达?(heifei)
- 高分求字符串比较的解决原代码——100分
- 右对齐?
var
Form:IHTMLFormElement;
HTMLDocument2:IHTMLDocument2;
begin
HTMLDocument2 := WebBrowser1.document as IHTMLDocument2;
if HTMLDocument2.forms.length > 0 then
begin
Form := (HTMLDocument2.forms as IHTMLElementCollection).item(0,0) as IHTMLFormElement ;
(Form.item(0,0) as IHTMLInputTextElement).value := 'naughtyboy';
(Form.item(1,0) as IHTMLInputTextElement).value := 'iamnaughtyboy';
Form.Submit;
end;end;
换成上面样子看看,我刚刚试了试,能提交。
另外最好能把你的代码贴出来
procedure TForm1.Button2Click(Sender: TObject);
var
o : Olevariant;
begin
webbrowser1.Navigate('http://www.163.com');
o := WebBrowser1.OleObject.document.all.item('username',0);
o.value := 'username';
o := WebBrowser1.oleobject.document.all.item('Password',0);
o.value := 'password';
o :=WebBrowser1.oleobject.document.all.item('login',0);
o.Click;
end;
to: linzhisong(無聊) ( ) 我的表单是在页面的一个frame中,怎么做?
var
Document: IHTMLDocument2;
form: IHTMLFormElement;
v: IHTMLInputElement;
s: IHTMLButtonElement;
frabase: IHTMLFrameBase2;
begin
w.Document.QueryInterface(IID_IHTMLDocument2, Document);
//我现在搞不定怎么访问frame,就用了activeElement
Document.activeElement.QueryInterface(IID_IHTMLFrameBase2, frabase);
//获取frame,获取form
frabase.contentWindow.document.all.item('form1',0).QueryInterface(IID_IHTMLFormElement, form);
//获取v
form.item('v',0).QueryInterface(IID_IHTMLInputElement, v);
//获取send按钮
form.item('s', 0).QueryInterface(IID_IHTMLButtonElement, s);
//assign value
v.value := '...';
form.submit; //这样不会触发页面中的OnSubmit事件,我要怎么提交?
end;
var
i: integer;
begin
for i := 0 to (WebBrowser1.OleObject.Document.frames.Length - 1) do
if WebBrowser1.OleObject.Document.frames.item(i).document.queryCommandEnabled('Copy') then
ShowMessage('copy command is enabled for frame no.' + IntToStr(i));
end;
试试这个吧。