UDF > IE >


_IEFormElementSetValue

Définit la valeur d'un élément donné de formulaire

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

Paramètres

$oObject Variable objet InternetExplorer.Application, objet Form Element
$sNewValue La nouvelle valeur à installer dans l'élément de formulaire
$iFireEvent [optionnel] Indique s'il faut déclencher un événement OnChange après avoir changé la valeur
    0 = Ne déclenche pas l'événement OnChange ou OnClick après avoir changé la valeur
    1 = (par défaut) Déclenche l'événement OnChange et OnClick après avoir changé la valeur

Valeur de retour

Succès: Retourne 1.
Échec: Retourne 0 et définit @error <> 0.
@error: 2 ($_IEStatus_COMError) - Erreur COM dans la référence d'objet
3 ($_IEStatus_InvalidDataType) - Type de donnée invalide
4 ($_IEStatus_InvalidObjectType) - Type d'objet invalide
@extended: Contient le nombre de paramètres invalides

Remarques

Alors que tous les éléments de formulaire ont une valeur, seuls les éléments orientés texte utilisent leur attribut valeur de façon évidente (type texte, textarea, hidden, password et file).
La valeur des autres éléments de formulaire n'affecte pas ce qui est affiché dans l'interface utilisateur, mais plutôt la valeur qui est retournée par l'élément lorsqu'il est sélectionné ou activé.

Voir _IEFormElementOptionSelect(), _IEFormElementCheckBoxSelect(), _IEFormElementRadioSelect() et _IEFormImageClick() pour plus d'informations.

Remarque: Vous ne pouvez pas utiliser _IEFormElementSetValue() pour définir la valeur d'un élément INPUT TYPE=FILE. Les restrictions de sécurité du navigateur empêchent cet élément d'être modifié par script. Voir l'exemple ci-dessous pour une solution de contournement.

En relation

_IEFormElementCheckBoxSelect, _IEFormElementGetCollection, _IEFormElementGetObjByName, _IEFormElementGetValue, _IEFormElementOptionSelect, _IEFormElementRadioSelect

Exemple

Exemple 1

; Ouvre un navigateur avec l'exemple de formulaire, définit la valeur d'un élément texte du formulaire

#include <IE.au3>

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

Exemple 2

; Obtient une référence sur un élément spécifique du formulaire et définit sa valeur.
; Dans ce cas, soumet une requête au moteur de recherche  Google

#include <IE.au3>

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

Exemple 3

; Définit la valeur d'un élément INPUT TYPE=TEXT en utilisant Send()

#include <IE.au3>

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

; Assigne le focus d'entrée au champ puis envoie la chaîne texte
_IEAction($oInputFile,  "focus")

; Sélectionne le contenu existant de sorte qu'il sera ...
écrasé.
_IEAction($oInputFile, "selectall")

Send("This works")

Exemple 4

; Définit la valeur d'un élément INPUT TYPE=TEXT en une fenêtre invisible
; en utilisant ControlSend()

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

Local $oIE = _IE_Example("form")

; Cache la fenêtre du navigateur pour montrer l'envoi du texte dans la fenêtre invisible
_IEAction($oIE, "invisible")

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

; Assigne le focus d'entrée au champ puis envoie la chaîne texte
_IEAction($oInputFile, "focus")

; Sélectionne le contenu existant de sorte qu'il sera ...
écrasé.
_IEAction($oInputFile, "selectall")

; Obtient un handle de la fenêtre IE.
Local $hIE = _IEPropertyGet($oIE, "hwnd")
ControlSend($hIE, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "This works")

_IEAction($oIE, "visible")
MsgBox($MB_SYSTEMMODAL, "Success", "Value set to 'This works'")