Установка значения виджета

Для установки значения виджета используется метод setValue объекта виджета.

Синтаксис метода установки значения виджета (JavaScript)

oWidget.setValue(
	ZForms.Value oValue
	);

Где oValue — объект нового значения виджета, класс которого зависит от класса виджета. Список соответствий классов виджетов и классов их значений приведен в разделе «Получение значения виджета».

Для простоты использования каждый виджет имеет метод createValue, возвращающий новый объект значения, который соответствует классу виджета.

Синтаксис метода создания объекта значения виджета (JavaScript)

var oValue = oWidget.createValue(
	mixed mValue
	);

Где mValue — это параметр, содержащий значение обычного типа (String, Number, Array).

Таким образом, код для установки значения виджета выглядит следующим образом:

Установка значения виджета (JavaScript)

oWidget.setValue(oWidget.createValue(mValue));

Пример. После нажатия кнопки «Скопировать текущее значение» текущее значение виджета «Имя» копируется в виджет «Копия».

Код примера

<form class="zf" id="form-1" action=".">
	<dl>
		<dt><label for="input-last-name-1">Имя</label></dt>
		<dd><input class="zf" type="text" id="input-last-name-1" /></dd>
	</dl>
	<div class="zf-buttons"><input class="zf zf-button" type="button" id="button-1" value="Скопировать текущее значение" /></div>
	<dl>
		<dt><label for="input-last-name-copy-1">Копия</label></dt>
		<dd><input class="zf" type="text" id="input-last-name-copy-1" /></dd>
	</dl>
</form>
<script type="text/javascript">
//<![CDATA[
ZForms.attachObserver(
	ZForms.EVENT_TYPE_ON_INIT,
	function() {

		var
			oForm = ZForms.getFormById('form-1'),
			oNameWidget = oForm.getWidgetById('input-last-name-1'),
			oButtonWidget = oForm.getWidgetById('button-1'),
			oCopyWidget = oForm.getWidgetById('input-last-name-copy-1')
			;

		oButtonWidget.setHandler(
			function() {

				oCopyWidget.setValue(oCopyWidget.createValue(oNameWidget.getValue().get()));

			}
			);

	}
	);
//]]>
</script>