Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Delphi Webbrowser Javascript Kod Çalıştırma ?

delphi de webbrowser ile input veri giriyorum. Ama selectbox ta bir değere tıklayıp 2. seletbox un aktif olmasını sağlayamadım..

normalde şu şekilde bir javascripti çalıştırabiliyorum.

WebBrowser1.Navigate(WideString('javascript:ili(5)'));

ancak çalıştırmak istediğim selectbox un onchange javascript değil.

Çalıştırmam gereken onchange=

A4J.AJAX.Submit('_viewRoot','faturaOdemeForm',event,{'parameters':{'faturaOdemeForm:j_id111':'faturaOdemeForm:j_id111','ajaxSingle':'faturaOdemeForm:kurumTipi'} ,'actionUrl':'/BenimAsyamWeb/odemeler/fatura/FaturaOdemeStart.jsf','control':this} )

bunu nasıl çalıştırabilirim.

şu tip bişey denedim ama olmadı.

WebBrowser1.OleObject.Document.GetElementByID('faturaOdemeForm:kurumTipi').Value.Click:= '5';

yardımlarınız için şimdiden teşekkürler.
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • ahmetcelebi adlı üyenin fotoğrafı
    7 yıl önce yazılmış
    15 cevap - 0 soru
    soruyu 2 yıl önce sormuşsun gerçi ama cevap veren olmamış ..

    javascript ile yapman bazen çözüm olmayabilir .. dom ile yapman en güzeli ..

    örnek kod
    uses kısmına mshtml unitini ekle
    değişkenlerde 
    
    var 
      iDoc: IHtmlDocument2;
      i,z : integer;
      ov : OleVariant;
      iDisp: IDispatch;
      iColl: IHTMLElementCollection;
      opt:HTMLoptionElement;
      sl:HTMLSelectElement;
    

    ov := 'select';
    WebBrowser1.ControlInterface.Document.QueryInterface(IHtmlDocument2, iDoc);
    
                    iDisp := iDoc.all.tags(ov);
                    iDisp.QueryInterface(iHTMLElementCollection, iColl);
                    if Assigned(iColl) then
                    begin
                            for i := 1 to iColl.Get_length do
                            begin
                                    iDisp := iColl.item(pred(i), 0);
                                    iDisp.QueryInterface(htmlselectelement, sl);
                                    if sl.name='selectname degeri' then // burada sl. dan sonra farklı kriterleri kontrol edebilirsin .. istediğin select ise alttaki işlemleri yaparsın
                                    begin
                                                for z:=0 to sl.length-1 do
                                                begin
                                                      iDisp2:=sl.item(z,0);
                                                      iDisp2.QueryInterface(htmloptionelement, opt);
                                                      if opt.value='5' Then
                                                      begin  
                                                            opt.selected:=true;
                                                            sl.click;
                                                           // idoc.parentWindow.Execscript('javascriptkodunu buraya eklersin ','javascript');
                                                            break;
                                                      end;
                                                end;
                                    end;
                            end;
                    end;
    


    burası sadece örnek web sayfasının içeriğine göre farklı kodlar kullanman gerekebilir ..