TwebBrowser: IHTMLFormElement.submit

rustle 2003-06-13 11:43:21
IHTMLFormElement.submit不执行onsubmit

怎么搞?
...全文
104 点赞 收藏 19
写回复
19 条回复
amna 2003年09月07日
我也感谢!
回复 点赞
rustle 2003年07月01日
多谢
回复 点赞
gdljf 2003年06月30日
关注,我也被这个困住了
回复 点赞
linzhisong 2003年06月30日
procedure TForm1.Button1Click(Sender: TObject);
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;


试试这个吧。
回复 点赞
rustle 2003年06月30日
up
回复 点赞
rustle 2003年06月28日
大致代码如下:

procedure aaaaaaa;
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;
回复 点赞
rustle 2003年06月28日
to naughtyboy(一切都是为了明天) ( )

确实可以提交,但是它不会触发页面中的Form OnSubmit事件


to: linzhisong(無聊) ( )

我的表单是在页面的一个frame中,怎么做?
回复 点赞
rustle 2003年06月25日
uping...
回复 点赞
linzhisong 2003年06月25日
163邮箱登陆
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;
回复 点赞
DWGZ 2003年06月25日
楼上的
回复 点赞
naughtyboy 2003年06月25日
procedure TForm1.Button1Click(Sender: TObject);
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;
换成上面样子看看,我刚刚试了试,能提交。
另外最好能把你的代码贴出来
回复 点赞
rustle 2003年06月24日
uping...
回复 点赞
rustle 2003年06月23日
up
回复 点赞
things 2003年06月17日
up
回复 点赞
rustle 2003年06月17日
up
回复 点赞
rustle 2003年06月16日
回复 点赞
TechnoFantasy 2003年06月15日
onsubmit事件是页面中的吗?
回复 点赞
blueshu 2003年06月13日
up
回复 点赞
rustle 2003年06月13日
up...
回复 点赞
发动态
发帖子
网络通信/分布式开发
创建于2007-08-02

924

社区成员

3.3w+

社区内容

Delphi 网络通信/分布式开发
社区公告
暂无公告