Alterator/Master Class: различия между версиями
Dkr (обсуждение | вклад) м (Новая страница: «Пошаговые примеры создания и использования различных виджетов Alterator для форм html, и, может ...») |
Dkr (обсуждение | вклад) мНет описания правки |
||
Строка 1: | Строка 1: | ||
Пошаговые примеры создания и использования различных виджетов Alterator | == Пошаговые примеры == | ||
создания и использования различных виджетов Alterator | |||
для форм html, и, может быть, Qt версий. | для форм html, и, может быть, Qt версий. | ||
=== Текстовые поля и надписи === | |||
Самым первым и самым простым применением может быть редактирование конфигурационного файла | |||
в формате Param: value | |||
Предположим, на экране мы хотим получить такую форму | |||
[[Файл:Label_and_textinput.png]] | |||
В файле index.html нашего модуля пишем: | |||
<pre> | |||
<span translate="_">Server name:</span> | |||
<input type="text" class="text" name="your_server" style="width:120px;"/> | |||
</pre> | |||
Если строка '''Server name:''' определена в файле переводов, то она будет переведена. | |||
Ни изменять значение, ни читать его мы больше не будем. | |||
Поле ввода имеет имя ''your_server'' по которому можно обращаться к данному полю. | |||
Писать или читать его значение. | |||
Для того, чтобы записать значение '''127.0.0.1''' в это поле, в файле ajax.scm пишем: | |||
(form-update-value "your_server" "127.0.0.1") | |||
Для того, чтобы прочитать значение из поля, в файле ajax.scm пишем | |||
(form-value "your_server") | |||
В более сложном виде, для передачи значения в backend пишем, например, так: | |||
(catch/message | |||
(lambda() | |||
(woo "new" "/backend/" 'server (form-value "your_server") 'language (form-value "language")))) | |||
В этом случае в backend передаются параметр server и значение form-value "your_server", | |||
а так же language и form-value "language" для возможности правильного перевода. | |||
Более удобным является использование | |||
(form-value-list '("field1" "field2" "field3" "field4") | |||
В этом случае передаются пары значений ''имя_поля'' ''значение_поля'' | |||
Каким образом мы получим значение нашего параметра в backend, в данной статье рассматриваться не будет. Предположим, что значение мы получили и нам осталось выполнить вызов | |||
write_string_param param_name param_value | |||
В нашем случае | |||
write_string_param your_server your.domain.com | |||
Теперь, обратимся к backend-у, иначе он нам сам ни чего отдавать не будет. | |||
В ajax.scm пишем функцию | |||
(form-update-value "your_server" (woo-read "/backend_name")) | |||
Или более универсальный вариант | |||
(form-update-value-list (woo-read-first "/backend_name")) | |||
В этом случае имена параметров должны иметь такие же имена, как и имена в формах. | |||
[[Категория:Alterator]] | [[Категория:Alterator]] |
Версия от 16:54, 19 апреля 2010
Пошаговые примеры
создания и использования различных виджетов Alterator для форм html, и, может быть, Qt версий.
Текстовые поля и надписи
Самым первым и самым простым применением может быть редактирование конфигурационного файла в формате Param: value
Предположим, на экране мы хотим получить такую форму
В файле index.html нашего модуля пишем:
<span translate="_">Server name:</span> <input type="text" class="text" name="your_server" style="width:120px;"/>
Если строка Server name: определена в файле переводов, то она будет переведена. Ни изменять значение, ни читать его мы больше не будем.
Поле ввода имеет имя your_server по которому можно обращаться к данному полю. Писать или читать его значение. Для того, чтобы записать значение 127.0.0.1 в это поле, в файле ajax.scm пишем:
(form-update-value "your_server" "127.0.0.1")
Для того, чтобы прочитать значение из поля, в файле ajax.scm пишем
(form-value "your_server")
В более сложном виде, для передачи значения в backend пишем, например, так:
(catch/message (lambda() (woo "new" "/backend/" 'server (form-value "your_server") 'language (form-value "language"))))
В этом случае в backend передаются параметр server и значение form-value "your_server", а так же language и form-value "language" для возможности правильного перевода.
Более удобным является использование
(form-value-list '("field1" "field2" "field3" "field4")
В этом случае передаются пары значений имя_поля значение_поля
Каким образом мы получим значение нашего параметра в backend, в данной статье рассматриваться не будет. Предположим, что значение мы получили и нам осталось выполнить вызов
write_string_param param_name param_value
В нашем случае
write_string_param your_server your.domain.com
Теперь, обратимся к backend-у, иначе он нам сам ни чего отдавать не будет. В ajax.scm пишем функцию
(form-update-value "your_server" (woo-read "/backend_name"))
Или более универсальный вариант
(form-update-value-list (woo-read-first "/backend_name"))
В этом случае имена параметров должны иметь такие же имена, как и имена в формах.