Funktionreferenz


_IEFormElementSetValue

Beschreibung anzeigen in

Setzt den Wert eines angegebenen Formelements

#include <IE.au3>
_IEFormElementSetValue ( ByRef $oObject, $sNewValue [, $iFireEvent = 1] )

Parameter

$oObject Objekt Variable einer InternetExplorer.Application, Formelement Objekt
$sNewValue Der zu setzende Wert des Formelements
$iFireEvent [optional] gibt an, ob nach Änderung des Wertes ein OnChange ausgeführt werden soll
    0 = keine Ausführung von OnChange oder OnClick nach Wertänderung
    1 = (Standard) führt OnChange und OnClick aus nach Wertänderung

Rückgabewert

Erfolg: 1
Fehler: 0 und setzt das @error Flag auf ungleich null
@error: 2 ($_IEStatus_COMError) - COM Fehler in der Objektreferenz
3 ($_IEStatus_InvalidDataType) - Ungültiger Datentyp
4 ($_IEStatus_InvalidObjectType) - Ungültiger Objekttyp
@extended: Nummer des ungültigen Parameters

Bemerkungen

Obwohl alle Formelemente einen Wert besitzen, verwenden nur textorientierte Elemente diese Werte auch ersichtlich (type text, textarea, hidden, password und file).
Der Wert der anderen Formelemente bewirkt nicht dass, was diese im User Interface anzeigen, sondern eher der Wert, der zurückgegeben wird, wenn das Element ausgewählt oder aktiviert wird.

Siehe _IEFormElementOptionSelect(), _IEFormElementCheckBoxSelect(), _IEFormElementRadioSelect() und _IEFormImageClick() für weitere Informationen.

Merke: Man kann _IEFormElementSetValue() nicht verwenden, um Werte eines INPUT TYPE=FILE Elementes zu ändern. Die Sicherheitseinstellungen der Browser verhindern, dass dieses Element durch ein Skript verändert wird. Siehe das Beispiel unten als Lösungsansatz.

Verwandte Funktionen

_IEFormElementCheckBoxSelect, _IEFormElementGetCollection, _IEFormElementGetObjByName, _IEFormElementGetValue, _IEFormElementOptionSelect, _IEFormElementRadioSelect

Beispiel

Beispiel 1

#include <IE.au3>

; Öffnet einen Browser mit dem Formular-Beispiel und ändert den Wert eines Textfeldes

Local $oIE = _IE_Example("form")
Local $oForm = _IEFormGetObjByName($oIE, "ExampleForm")
Local $oText = _IEFormElementGetObjByName($oForm, "textExample")
_IEFormElementSetValue($oText, "Hey! Es funktioniert!")

Beispiel 2

#include <IE.au3>

; Stellt den Verweis auf ein bestimmtes Formular-Feld fest und ändert seinen Wert.
; Anschließend wird eine Abfrage in der Google Suchmaschine gestartet

Local $oIE = _IECreate("http://www.google.com")
Local $oForm = _IEFormGetCollection($oIE, 0)
Local $oQuery = _IEFormElementGetCollection($oForm, 4)
_IEFormElementSetValue($oQuery, "AutoIt IE.au3")
_IEFormSubmit($oForm)

Beispiel 3

#include <IE.au3>

; Setzt den Wert eines Elements vom Typ INPUT TYPE=FILE durch die Verwendung von Send()

Local $oIE = _IE_Example("form")
Local $oForm = _IEFormGetObjByName($oIE, "ExampleForm")
Local $oInputFile = _IEFormElementGetObjByName($oForm, "textExample")

; Setzt den Eingabefokus auf das Feld und sendet dann den Textstring
_IEAction($oInputFile, "focus")

; Markiert den bereits enthaltenen Inhalt, so dass dieser überschrieben wird.
_IEAction($oInputFile, "selectall")

Send("Es funktioniert")

Beispiel 4

#include <IE.au3>
#include <MsgBoxConstants.au3>

; Setzt den Wert eines Elements vom Typ INPUT TYPE=FILE bei einem unsichtbarem Fenster durch die Verwendung von ControlSend()

Local $oIE = _IE_Example("form")

; Versteckt das Browser-Fenster, um das Senden von Text zu einem versteckten Fenster zu demonstrieren
_IEAction($oIE, "invisible")

Local $oForm = _IEFormGetObjByName($oIE, "ExampleForm")
Local $oInputFile = _IEFormElementGetObjByName($oForm, "textExample")

; Setzt den Fokus auf das Input-Control und sendet dann den Textstring
_IEAction($oInputFile, "focus")

; Markiert den bereits enthaltenen Inhalt, so dass dieser überschrieben wird.
_IEAction($oInputFile, "selectall")

; Ermittelt ein Handle zu dem IE-Fenster
Local $hIE = _IEPropertyGet($oIE, "hwnd")
ControlSend($hIE, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "Es funktioniert")

_IEAction($oIE, "visible")
MsgBox($MB_SYSTEMMODAL, "Erfolg", "Wert gesetzt auf 'Es funktioniert'")