![]() |
Editfelder in Farmes einer Website ansprechen
Nachdem ich du suche jetzt schon ewig gequält, aber nichts gefunden habe, wende ich mich an euch.
Folgendes: ich möchte auf einer Website, die in Frames aufgeteilt ist ein bestimmtes editfeld ansprechen. Ist ja an sich nicht so schwer. Nur ich kriegs trotzdem nicht hin :| Hier mal ein Auszug aus dem Quelltext:
Delphi-Quellcode:
Habs mal ein bisschen weiter kopiert, vielleicht hilft das.
<form action="index.php?page=kante2&session=5b1b8fc101ee" method="POST">
<table width="519" border="0" cellpadding="0" cellspacing="1"> <tr height="20"> <td colspan="4" class="c">Ecke</td> </tr> <tr height="20"> <th>Leiste</th> <th>Vorhanden</th> <th>-</th> <th>-</th> </tr> <tr height="20"> <th><a title="Speed: 22000">Freunde</a></th> <th>271<input type="hidden" name="maxship202" value="271"/></th> <input type="hidden" name="consumption202" value="20"/> <input type="hidden" name="speed202" value="22000" /></th> <input type="hidden" name="capacity202" value="5000" /></th> <th>[url="javascript:maxShip('ship202');"]max[/url] </th> <th><input name="ship202" size="10" value="0" alt="ascf"/></th> </tr> <tr><th colspan=4> </th></tr> </form> </table> </center> </div> <script> messageboxHeight=0; errorboxHeight=0; contentbox = document.getElementById('content'); </script> Ich möchte den Wert des editfeldes mit dem Namen "ship202" von null auf 1 setzen. Wie geht das? :gruebel: |
Re: Editfelder in Farmes einer Website ansprechen
Hi,
versuche es mal mit:
Delphi-Quellcode:
WebBrowser1.OleObject.document.forms.item(0).elements.item('ship202').value:= 1;
|
Re: Editfelder in Farmes einer Website ansprechen
Hallo,
wenn Frames vorhanden sind, dann besser so:
Delphi-Quellcode:
Statt über den Index kann auch über einen Namen auf die Form oder den Frame zugegriffen werden.
var
vDoc, vFrame, vForm: OleVariant; iFrame, iForm: Integer; sElement: string; begin // iFrame, iForm, sElement assumed valid vDoc := WebBrowser.OleObject.Document; vFrame := vDoc.frames.item(iFrame); vDoc := vFrame.contentWindow.Document; vForm := vDoc.forms.item(iForm); vForm.elements.item(sElement).value := '1'; end; Grüße vom marabu |
Re: Editfelder in Farmes einer Website ansprechen
Hi,
ich krieg ne Fehlermeldung in dieser Zeile
Delphi-Quellcode:
[Error] Unit1.pas(42): Object or class type required
vDoc := WebBrowser.OleObject.Document;
Was für einen type muss ich denn bennenen? |
Re: Editfelder in Farmes einer Website ansprechen
WebBrowser ist der Name der Komponente, also wenn du den nicht umbenannt hast:
Delphi-Quellcode:
vDoc := WebBrowser1.OleObject.Document;
|
Re: Editfelder in Farmes einer Website ansprechen
Ja, is klar. Delphi hat aber anscheinend mit dem OleObject ein Problem. Da muss man doch noch irgendwas in die uses schreiben, nur was?
|
Re: Editfelder in Farmes einer Website ansprechen
Was für einen Typ hat WebBrowser?
|
Re: Editfelder in Farmes einer Website ansprechen
Zitat:
|
Re: Editfelder in Farmes einer Website ansprechen
Zitat:
|
Re: Editfelder in Farmes einer Website ansprechen
Hallo PacMan,
befindet sich die Komponente TWebBrowser in deiner Palette? Welche Delphi-Version setzt du ein? Gibt es in deinem Verzeichnis $(DELPHI)\LIB die entsprechenden Units, die du einbinden möchtest? Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz