Функция _IEFormElementSetValue

 ↑  ←  Описание функции


_IEFormElementSetValue

Устанавливает содержимое указанного элемента формы.

#include <IE.au3>
_IEFormElementSetValue(ByRef $o_object, $s_newvalue [, $f_fireEvent = 1])

Параметры

$o_object Переменная объекта InternetExplorer.Application, Form Element object
$s_newvalue Новое значение, устанавливаемое в элемент формы
$f_fireEvent [необязательный] specifies whether to fire an OnChange event after changing value
0 = Do not fire OnChange or OnClick event after setting value
1 = (по умолчанию) fire OnChange and OnClick event after setting value

Возвращаемое значение

Успех:Возвращает 1
Ошибка:Возвращает 0 и устанавливает @error
@error:0 ($_IEStatus_Success) = Нет ошибок
3 ($_IEStatus_InvalidDataType) = Неверный тип данных
4 ($_IEStatus_InvalidObjectType) = Неверный тип объекта
@extended:Содержит номер неверного параметра

Примечания

While all Form Elements have a value, only text oriented elements use their value attribute in an obvious fashion (type text, textarea, hidden, password and file). The value of other form elements does not affect what is displayed in the user interface, but rather the value that is returned by the element when it is selected or activated.

Более подробно смотрите _IEFormElementOptionSelect(), _IEFormElementCheckboxSelect(), _IEFormElementRadioSelect() и _IEFormImageClick().

Note: You cannot use _IEFormElementSetValue() to set the value of an INPUT TYPE=FILE element. Browser security restrictions prevent this element from being scripted. See the example below for a workaround.

См. также

_IEFormElementGetValue, _IEFormElementGetCollection, _IEFormElementGetObjByName, _IEFormElementOptionSelect, _IEFormElementCheckboxSelect, _IEFormElementRadioSelect

Пример

#include <IE.au3>

; ====================================
; Пример 1 - Открывает браузер с примером "form", устанавливает значение текста элемента формы

Local $oIE = _IE_Example("form")
Local $oForm = _IEFormGetObjByName($oIE, "ExampleForm")
Local $oText = _IEFormElementGetObjByName($oForm, "textExample")
_IEFormElementSetValue($oText, "Эй! Это работает!")

; ====================================
; Пример 2 - Получает ссылку на указанный элемент формы и устанавливает его значение.
;               в этом примере запрос в поисковой системе Google

$oIE = _IECreate("http://www.google.com")
$oForm = _IEFormGetObjByName($oIE, "f")
Local $oQuery = _IEFormElementGetObjByName($oForm, "q")
_IEFormElementSetValue($oQuery, "AutoIt IE.au3")
_IEFormSubmit($oForm)

; ====================================
; Пример 3 - Устанавливает значение элемента INPUT TYPE=TEXT используя Send()

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

; Назначает фокус ввода в поле ии далее высылает строку текста
_IEAction($oInputFile, "focus")

; Выделяет текущее содержимое, чтобы перезаписать его.
_IEAction($oInputFile, "selectall")

Send("Это работает!")

; ====================================
; Пример 4 - Устанавливает значение элемента INPUT TYPE=TEXT
;               в невидимое окно, используя ControlSend()

$oIE = _IE_Example("form")

; Скрывает окно браузера, чтобы продемонстрировать высылку текста в невидимое окно
_IEAction($oIE, "invisible")

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

; Назначает фокус ввода в поле ии далее высылает строку текста
_IEAction($oInputFile, "focus")

; Выделяет текущее содержимое, чтобы перезаписать его.
_IEAction($oInputFile, "selectall")

; Получает дескриптор окна IE.
Local $hIE = _IEPropertyGet($oIE, "hwnd")
ControlSend($hIE, "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "Это работает")

MsgBox(4096, "Успешно", "Значение установлено в 'Это работает'")
_IEAction($oIE, "visible")