如何使用WebBrowser元件提交表单数据? |
尚未結案
|
gray110
一般會員 發表:1 回覆:1 積分:0 註冊:2004-10-09 發送簡訊給我 |
发帖之前看过相关帖子,但情况比较特殊,仍然不能解决,请达人指教,先谢谢了。 我想用WebBrowser向该表单填入数据并提交,以下html源代码中<>用{}表示 {form action="messanger.asp?action=send" method=post name=Dvform "Dvbbs_CopyData('message');"}
.............
{input type=text name="touser" value="" size=50}
.............
{input type=text name="title" size=70 maxlength=80 value="" }
.............
{INPUT TYPE="hidden" id="message" name="message" value=""}
{iframe class="Dvbbs_Reply" ID="Dvbbs_Composition" MARGINHEIGHT="5" MARGINWIDTH="5" width="100%" height="100%" }{/iframe}
.............
{INPUT TYPE="hidden" NAME="sms_act" value="" }
{input type=Submit value="发送" name=Submit "this.form.sms_act.value='Sms_Issend'"}
{input type=Submit value="保存" name=Submit "this.form.sms_act.value='Sms_Issave'"} var
Doc,WForm:OleVariant;
begin
Doc:=WebBrowser1.OleObject.Document;
WForm:=Doc.Forms.Item('Dvform');
WForm.Item('touser',0).value:='username';
WForm.Item('title',0).value:='my_title'; 但该Form在Submit时调用Dvbbs_CopyData()函数将iframe中的内容复制到message item中 Message 和 sms_act 均为hidden类型,且有两个submit item,请问该如何编写程式? 發表人 - gray110 於 2004/10/09 23:28:49
|
gray110
一般會員 發表:1 回覆:1 積分:0 註冊:2004-10-09 發送簡訊給我 |
|
jeff377
初階會員 發表:9 回覆:60 積分:33 註冊:2004-08-10 發送簡訊給我 |
Message 和 sms_act為hidden類型,跟一般非hidden的欄位填值方法一致沒差別。
而要找到Submit按鈕,你可以用下方FindInputByValue函數來找到該按鈕,再執行
它的click即可。
var Doc,WForm:OleVariant; oInput: HTMLInputElement; begin Doc:=WebBrowser1.OleObject.Document; WForm:=Doc.Forms.Item('Dvform'); WForm.Item('touser',0).value:='username'; WForm.Item('title',0).value:='my_title'; WForm.Item('Message',0).value:='Message'; WForm.Item('sms_act',0).value:='sms_act'; oInput:= FindInputByValue('Submit','保存'); oInput.click;========================================== function FindInputByValue(sType: String; sValue: WideString): HTMLInputElement; //尋找指定Value的Input var oInput: HTMLInputElement; oItem: OleVariant; N1: Integer; begin Result:= nil; for N1:= 0 to Self.All.length-1 do begin oItem:= Self.All.item(N1,0); if SameText(oItem.tagName,'INPUT') then begin oInput:= Self.All.item(N1,0) as HTMLInputElement; if SameText(oInput.type_,sType) and SameText(oInput.value,sValue) then begin Result:= oInput; exit; end; end; end; end; |
Ktop_Robot
站務副站長 發表:0 回覆:3511 積分:0 註冊:2007-04-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |