Possible Duplicate:
How to call the OnChange event of 「Select」 ? (Delphi - WebBrowser)德爾福 - 在一個網頁瀏覽器
嗨運行JavaScript,
我加載一個網頁到Twebrowser在德爾福,網頁有一個下拉的形式。我可以讓我的程序在下拉菜單中選擇項目ID,但選擇選項有一個onchange事件,我如何在不使用execScript('yourfunctioname()','JavaScript')的情況下在delphi 中激發onchange事件;
繼承人的選擇與onChnage事件
<select align="left" id="carrierNameDropDown_UNSHIPPEDITEMS" onChange="MYO.ES.OtherCarrierToggle (this, 'UNSHIPPEDITEMS')">
<option value="0" selected="1" >Select</option>
<option value="Chronopost" >Chronopost</option>
<option value="City Link" >City Link</option>
<option value="DHL" >DHL</option>
<option value="DPD" >DPD</option>
<option value="Deutsche Post" >Deutsche Post</option>
<option value="Fastway" >Fastway</option>
<option value="FedEx" >FedEx</option>
<option value="GLS" >GLS</option>
<option value="GO!" >GO!</option>
<option value="Hermes Logistik Gruppe" >Hermes Logistik Gruppe</option>
<option value="La Poste" >La Poste</option>
<option value="Parcelforce" >Parcelforce</option>
<option value="Parcelnet" >Parcelnet</option>
<option value="Poste Italiane" >Poste Italiane</option>
<option value="Royal Mail" >Royal Mail</option>
<option value="SDA" >SDA</option>
<option value="Smartmail" >Smartmail</option>
<option value="TNT" >TNT</option>
<option value="Target" >Target</option>
<option value="UPS" >UPS</option>
<option value="Yodel" >Yodel</option>
<option value="Other">
Specify carrier:
</option>
</select>
我把它做的工作:
if EmbeddedWB1.Document <> nil then begin
if EmbeddedWB1.Document.QueryInterface(IHTMLDocument3,docb) = S_OK then begin
elb := docb.getElementById('carrierNameDropDown_UNSHIPPEDITEMS');
if elb <> nil then begin
(elb as IHTMLSelectElement).value := 'Parcelforce';
OleVariant (elb as IHTMLElement). FireEvent ('onchange');
end;
謝謝伊恩!雖然我嘗試了,並不斷收到錯誤:德爾福無法完成操作,由於錯誤80020101 :( – Stu 2011-05-13 13:30:26
我想我可能能夠使用FireEvent(「onchange」),但我不知道如何使用它...仍然期待... – Stu 2011-05-13 14:24:51
我認爲它是這樣的東西,但沒有人知道如何使用它?OleVariant(yourIHTMLElement).FireEvent('onchange'); – Stu 2011-05-13 14:34:37