UDF > IE >


_IEFormSubmit

Soumet un formulaire donn�

#include <IE.au3>
_IEFormSubmit ( ByRef $oObject [, $iWait = 1] )

Param�tres

$oObject Variable objet InternetExplorer.Application, Form
$iWait [optionnel] Sp�cifie s'il faut attendre que la page soit charg�e avant de retourner
    0 = Retourne imm�diatement, sans attendre que la page soit charg�e
    1 = (par d�faut) Attendre que le chargement de la page soit termin� avant de retourner

Valeur de retour

Succ�s: Aucun retour.
�chec: Retourne 0 ou -1 et d�finit @error <> 0.
@error: 1 ($_IEStatus_GeneralError) - Erreur g�n�rale
2 ($_IEStatus_COMError) - Erreur COM dans une r�f�rence d'objet
3 ($_IEStatus_InvalidDataType) - Type de donn�es invalide
4 ($_IEStatus_InvalidObjectType) - Type d'objet invalide
6 ($_IEStatus_LoadWaitTimeout) - D�lai de chargement d�pass�
8 ($_IEStatus_AccessIsDenied) - Acc�s refus�
9 ($_IEStatus_ClientDisconnected) - Client d�connect�
@extended: Contient le nombre de param�tres invalides

Remarque

Pour de nombreux formulaires HTML, il n'est pas suffisant d'utiliser _IEFormSubmit() car il y a souvent du code JavaScript personnalis� li� � un �v�nement onClick pour son bouton Submit.
Dans ces cas, vous aurez besoin de simuler un clic sur le bouton Submit au lieu d'utiliser _IEFormSubmit(). Voir l'exemple relatif � l'action "click" de _IEAction() .
En outre, certains traitements de formulaires reposent sur la "valeur" du bouton submit qui est pass�e avec le reste des donn�es du formulaire (souvent quand il y a plusieurs boutons submit dans le formulaire et qu'ils sont con�us pour d�clencher des r�sultats diff�rents).
Cette fonction ne r�ussira pas pour une valeur de bouton submit pass�e. La solution est d'utiliser l'action �clic� de _IEAction() comme ci-dessus.
Si vous rencontrez des probl�mes avec l'appel automatique de _IELoadWait() appel�e par d�faut, mettez le param�tre $iWait � 0 et appelez _IELoadWait() � partir de votre script, en lui passant l'objet InternetExplorer.

En relation

_IEFormElementGetCollection, _IEFormElementGetObjByName, _IEFormGetCollection, _IEFormGetObjByName, _IEFormReset, _IELoadWait

Exemple

Exemple 1

; Ouvre une instance du navigateur avec le formulaire exemple, remplit un champ du formulaire et le soumet

#include <IE.au3>

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

Exemple 2

; Obtient une r�f�rence sur un �l�ment sp�cifique du formulaire et d�finit ses valeurs.
; 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")
Sleep(2000)
_IEFormSubmit($oForm)

Exemple 3

; Obtient une r�f�rence sur un �l�ment du formulaire  et d�finit ses valeurs.
; Appelez _IELoadWait manuellement si la fonction _IELoadWait �choue.

#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, 0)
_IELoadWait($oIE)