<html>
<head>
<title>提交</title>
</head>
<body>
<FORM action=http://202.104.105.23/post.php method=post name=instant
target=_blank>
<TEXTAREA class=input2 cols=35 name=content onfocus=this.select() onmouseover=this.focus() rows=4></TEXTAREA>
<P>
<SELECT class=input1 name=language>
<OPTION selected value=1>生产→销售</OPTION>
<OPTION value=3>销售→生产</OPTION>
</SELECT>
<INPUT name=Submit style="FONT-SIZE: 9pt; HEIGHT: 21px; WIDTH: 72px" type=submit value=提交>
</P>
</form>
</body>
</html>网页内容如上
其中有一个text框,一个选择框(有两个内容,一个是生产→销售,另一个是销售→生产)
和一个提交按纽。
在form1上放一个memo,一个combox,一个button,一个webbrowse
webbrowse读取一个html文件,就是上面的内容,这里在memo中输入内容,然后在combox中选择其中的一个,接着按button,这样就会将memo,combox中的内容写到下面的webbrowse里的表单中。
就以上的功能,我试了好久没成功,不知道问题出在那里,我付上代码以便大家研究!procedure TForm1.Button1Click(Sender: TObject);
var
TargetFrameName,PostData,Flags,Heads:OleVariant;
begin
PostData:=0;
Heads:=0;
Flags:=0;//连接html文件
WebBrowser1.Navigate(url,Flags,TargetFrameName,PostData,Heads);
end;procedure TForm1.FormCreate(Sender: TObject);
begin
combox.ItemIndex:=0;
url:='http://202.104.105.23/post.php ';//网站地址
end;procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
i:integer;
doc: OleVariant;
p:integer;
begin
doc:=(sender as TWebBrowser).document;
For i:=0 To doc.all.length-1 do
begin
if (doc.all.item(i).tagName = 'TEXTAREA')and //一定大写
(doc.all.item(i).name='content')then //大小写与原文一致
doc.all.item(i).value:=memo.Lines.Text;//////////////////这个功能没问题会自动写入
end;
if (doc.all.item(i).tagName = 'SELECT')and //一定大写
(doc.all.item(i).name='language')then
begin/////////////////////////////////////这个就不行了,不知道为什么
p:=combox.ItemIndex+1;//把行号+1给p
if p=1 then//如果p=1就把p付给value
begin
doc.all.item(i).value:=p;
end
else//如果p不等于1就把3付给value,因为上面的网页发送的是1和3
begin
doc.all.item(i).value:=3;
end;
end;
if (doc.all.item(i).tagName = 'INPUT')and //一定大写
(doc.all.item(i).name='Submit')and //大小写与原文一致
(doc.all.item(i).value='提交')then
///////////////////////////////////////////这个也不行,不知道怎么回事
begin
end;
end;
另外再问一下,如何使弹出来的新网页还是显示在原来那个webbrowse里面!!!
就是当表单被提交后,经过post.php处理会弹出另外一个网页,我怎么才能让这个弹出来的网页也显示在webbrowse里面???分不够尽管说只要解决问题,我尽量满足大家!!
谢谢
<head>
<title>提交</title>
</head>
<body>
<FORM action=http://202.104.105.23/post.php method=post name=instant
target=_blank>
<TEXTAREA class=input2 cols=35 name=content onfocus=this.select() onmouseover=this.focus() rows=4></TEXTAREA>
<P>
<SELECT class=input1 name=language>
<OPTION selected value=1>生产→销售</OPTION>
<OPTION value=3>销售→生产</OPTION>
</SELECT>
<INPUT name=Submit style="FONT-SIZE: 9pt; HEIGHT: 21px; WIDTH: 72px" type=submit value=提交>
</P>
</form>
</body>
</html>网页内容如上
其中有一个text框,一个选择框(有两个内容,一个是生产→销售,另一个是销售→生产)
和一个提交按纽。
在form1上放一个memo,一个combox,一个button,一个webbrowse
webbrowse读取一个html文件,就是上面的内容,这里在memo中输入内容,然后在combox中选择其中的一个,接着按button,这样就会将memo,combox中的内容写到下面的webbrowse里的表单中。
就以上的功能,我试了好久没成功,不知道问题出在那里,我付上代码以便大家研究!procedure TForm1.Button1Click(Sender: TObject);
var
TargetFrameName,PostData,Flags,Heads:OleVariant;
begin
PostData:=0;
Heads:=0;
Flags:=0;//连接html文件
WebBrowser1.Navigate(url,Flags,TargetFrameName,PostData,Heads);
end;procedure TForm1.FormCreate(Sender: TObject);
begin
combox.ItemIndex:=0;
url:='http://202.104.105.23/post.php ';//网站地址
end;procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
i:integer;
doc: OleVariant;
p:integer;
begin
doc:=(sender as TWebBrowser).document;
For i:=0 To doc.all.length-1 do
begin
if (doc.all.item(i).tagName = 'TEXTAREA')and //一定大写
(doc.all.item(i).name='content')then //大小写与原文一致
doc.all.item(i).value:=memo.Lines.Text;//////////////////这个功能没问题会自动写入
end;
if (doc.all.item(i).tagName = 'SELECT')and //一定大写
(doc.all.item(i).name='language')then
begin/////////////////////////////////////这个就不行了,不知道为什么
p:=combox.ItemIndex+1;//把行号+1给p
if p=1 then//如果p=1就把p付给value
begin
doc.all.item(i).value:=p;
end
else//如果p不等于1就把3付给value,因为上面的网页发送的是1和3
begin
doc.all.item(i).value:=3;
end;
end;
if (doc.all.item(i).tagName = 'INPUT')and //一定大写
(doc.all.item(i).name='Submit')and //大小写与原文一致
(doc.all.item(i).value='提交')then
///////////////////////////////////////////这个也不行,不知道怎么回事
begin
end;
end;
另外再问一下,如何使弹出来的新网页还是显示在原来那个webbrowse里面!!!
就是当表单被提交后,经过post.php处理会弹出另外一个网页,我怎么才能让这个弹出来的网页也显示在webbrowse里面???分不够尽管说只要解决问题,我尽量满足大家!!
谢谢
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货