Для получения текущего значения виджета используется метод getValue объекта виджета. Метод возвращает объект класса ZForms.Value или одного из его подклассов. Для получения обычного значения типа String, Number, Array необходимо вызвать метод get класса ZForms.Value. То есть, полная цепочка получения значения выглядит так:
var mValue = oWidget.getValue().get();Соответствия между классами виджетов, классами их значений и типами значений приведено в таблице:
| класс виджета | класс значения виджета | тип значения |
|---|---|---|
ZForms.Widget.Text |
ZForms.Value |
String |
ZForms.Widget.Text.Number |
ZForms.Value.Number |
Number |
ZForms.Widget.Select |
ZForms.Value |
String |
ZForms.Widget.Text.Combo |
ZForms.Value |
String |
ZForms.Widget.Container.Date,опция bWithTime = false |
ZForms.Value.Date |
String |
ZForms.Widget.Container.Date,опция bWithTime = true |
ZForms.Value.Date.Time |
String |
ZForms.Widget.Container.Group.CheckBox |
ZForms.Value.Multiple |
Array |
ZForms.Widget.Container.Group.RadioButton |
ZForms.Value |
String |
<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" value="Вывести текущее значение" id="input-button-1" /></div>
</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('input-button-1')
;
oButtonWidget.setHandler(
function() {
alert('Значение виджета: ' + oNameWidget.getValue().get());
}
);
}
);
//]]>
</script>