Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Webbrowser Formularfelder überprüfen (https://www.delphipraxis.net/107299-webbrowser-formularfelder-ueberpruefen.html)

Larsi 25. Jan 2008 12:38


Webbrowser Formularfelder überprüfen
 
hi,
ichh möchte mit dem twebbrowser SÄMLTICHE formularfelder (textfelder^^) überprüfen ob ein bestimmter inhalt drinnen ist. ich war codetechnisch schon soweit:
Delphi-Quellcode:
Edit1.Text:=WebBrowser1.OleObject.document.forms.item(0).elements.item('FELDNAME').value;
aber diese funktion liest ja immer nur FELDNAME aus. oder gibt es eine möglichkeit den namen des feldes beim "eintippen" herausfinden?


MFG Lars Wiltfang

toms 25. Jan 2008 12:46

Re: Webbrowser Formularfelder überprüfen
 
Zitat:

Zitat von Larsi
aber diese funktion liest ja immer nur FELDNAME aus. oder gibt es eine möglichkeit den namen des feldes beim "eintippen" herausfinden?

Du kannst einen Event Sink auf die Felder setzen. Dann wirst du benachrichtigt, sobald sich der Inhalt eines Felder geändert hat.

Larsi 25. Jan 2008 12:58

Re: Webbrowser Formularfelder überprüfen
 
was? slink? gibts nciht ne möglichkeit das man das irgnedwie n bisschen umschriebt was ich scohn hatte!

Larsi 27. Jan 2008 13:05

Re: Webbrowser Formularfelder überprüfen
 
*push*
Ich kapier es nicht :(
Kann es mir jemand erkären??? :)
Kann man nicht wie in meiner schon fertigen Abfrage einfach das Feldname durch All oder so erstzen? Oder gehts' nicht so einfach? Und was ist "Sink"? Wie geht das?
Delphi-Quellcode:
Edit1.Text:=WebBrowser1.OleObject.document.forms.item(0).elements.item('FELDNAME').value;

marabu 27. Jan 2008 14:08

Re: Webbrowser Formularfelder überprüfen
 
Hallo Lars,

willst du in allen Input-Feldern einer Form oder eines Document suchen?

Delphi-Quellcode:
function FindInputElement(container: IDispatch; const subText: string): IHTMLInputElement;
var
  i: Integer;
  ec: IHTMLElementCollection;
  dummy: IDispatch;
begin
  if Succeeded(container.QueryInterface(IID_IHTMLFormElement, dummy)) then
    ec := (container as IHTMLFormElement).tags('input') as IHTMLElementCollection
  else if Succeeded(container.QueryInterface(IID_IHTMLDocument3, dummy)) then
    ec := (container as IHTMLDocument3).getElementsByTagName('input')
  else begin
    Result := nil;
    Exit;
  end;
  for i := 0 to ec.length do
    if i = ec.length then
      Result := nil else
    begin
      Result := ec.item(i, null) as IHTMLInputElement;
      if AnsiContainsText(Utf8ToAnsi(Result.value), subText) then
        Break;
    end;
end;
Testen kannst du so:

Delphi-Quellcode:
var
  ie: IHTMLInputElement;
begin
  // find first element in document
  with WebBrowser do
    ie := FindInputElement(Document, 'b');

  // find first element in some form
  with WebBrowser.Document as IHTMLDocument2 do
    ie := FindInputElement(forms.item(0, null), 'b');
end;
Grüße vom marabu

Larsi 27. Jan 2008 18:30

Re: Webbrowser Formularfelder überprüfen
 
und wie kann ich das jez mit ner If-Schleife :) machen dass immer ne messegebox bei "Sex" kommt? :)

Die Muhkuh 27. Jan 2008 18:42

Re: Webbrowser Formularfelder überprüfen
 
Zitat:

Zitat von Larsi
und wie kann ich das jez mit ner If-Schleife :) machen dass immer ne messegebox bei "Sex" kommt? :)

If-Schleife

Zum Thema, schau Dir die Paramter an und schaue, was die Funktion macht, dann kommst Du ganz leicht auf Deine Lösung ;)

Kleiner Tipp: <> nil ;)

@Detlef: Ich hol schon mal die Gläser :zwinker:

Larsi 27. Jan 2008 18:45

Re: Webbrowser Formularfelder überprüfen
 
das mit der if schleife war auch nicht ernst gemint :)
hab das grad in irgendner signatur gefunden mit der if schleife und musste das gleicfh mal schreiben^^

DeddyH 27. Jan 2008 18:47

Re: Webbrowser Formularfelder überprüfen
 
[OT] *Jippiieehh*, ich trinke Pils :mrgreen: (siehe meine Signatur) [/OT]

Larsi 27. Jan 2008 18:50

Re: Webbrowser Formularfelder überprüfen
 
timmt an deiner signatur stand das :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:19 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz