Инструменты пользователя

Инструменты сайта


form-definition-header

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
form-definition-header [2026/02/10 18:49] – [Общий вид заголовка] madminform-definition-header [2026/07/24 15:56] (текущий) – [Перехват и обработка запросов экранной формы на клиенте] madmin
Строка 14: Строка 14:
 ===== Общий вид заголовка ===== ===== Общий вид заголовка =====
 Вот примерный вид заголовка описателя [[form-definition|экранной формы]]: Вот примерный вид заголовка описателя [[form-definition|экранной формы]]:
-<code>+<code xml>
 <form  <form 
-  name="<имя экранной формы>"  +  name="имя экранной формы"  
-  controller="<имя контроллера экранной формы на сервере>+  controller="имя контроллера экранной формы на сервере" 
-  caption="<текст заголовка экранной формы>"+  caption="текст заголовка экранной формы"
   tabindex="0|Nпп"   tabindex="0|Nпп"
      
Строка 25: Строка 25:
   height=""    height="" 
  
-  onshow="<имя запроса>+  onshow="имя запроса" 
-  js_onshow="<JavaScript обработчик>"+  js_onshow="JavaScript обработчик"
      
   closable="1|0"   closable="1|0"
-  onclose="<имя запроса>+  onclose="имя запроса" 
-  js_onclose="<JavaScript обработчик>"+  js_onclose="JavaScript обработчик"
  
   clearhistory="0|1"   clearhistory="0|1"
      
-  js_onrequest="<JavaScript обработчик запросов, например: onFormRequest(param)>"+  js_onrequest="JavaScript обработчик запросов, например: onFormRequest(param)"
 > >
 </code> </code>
Строка 42: Строка 42:
   * **caption** - текст заголовка [[form-definition|экранной формы]], для не модальной [[form-definition|экранной формы]] отображается в имени вкладки.   * **caption** - текст заголовка [[form-definition|экранной формы]], для не модальной [[form-definition|экранной формы]] отображается в имени вкладки.
   * **tabindex** - числовое значение, по умолчанию 0. Задает порядок размещения [[form-definition|экранной формы]] во вкладках. [[form-definition|Экранные формы]] с большим значением **tabindex** размещаются во вкладках позже, с меньшим раньше. Если значения одинаковые, то [[form-definition|формы]] размещаются в порядке создания - созданные позднее размещаются позже.   * **tabindex** - числовое значение, по умолчанию 0. Задает порядок размещения [[form-definition|экранной формы]] во вкладках. [[form-definition|Экранные формы]] с большим значением **tabindex** размещаются во вкладках позже, с меньшим раньше. Если значения одинаковые, то [[form-definition|формы]] размещаются в порядке создания - созданные позднее размещаются позже.
 +  * **closable** - позволяет запретить ручное закрытие экранной формы, по умолчанию 1
 +  * **clearhistory** - если значение выставлено, перед отображением закрывает все открытые немодальные экранные формы (за исключением форм с признаком closable="0")
 ===== Параметры модальных экранных форм ===== ===== Параметры модальных экранных форм =====
 По умолчанию [[form-definition|экранная форма]] отображается во всю ширину экрана, во вкладках, вместе с другими открытыми не модальными [[form-definition|экранными формами]]. По умолчанию [[form-definition|экранная форма]] отображается во всю ширину экрана, во вкладках, вместе с другими открытыми не модальными [[form-definition|экранными формами]].
Строка 48: Строка 50:
  
 Во первых, можно в запросе вызова [[form-definition|экранной формы]] указать, что она должна отображаться модально: Во первых, можно в запросе вызова [[form-definition|экранной формы]] указать, что она должна отображаться модально:
-<code>+<code xml>
 <request name="form" form="formName" caption="Заголовок" modal="1" width="90%" height="360px" /> <request name="form" form="formName" caption="Заголовок" modal="1" width="90%" height="360px" />
 </code> </code>
 Во вторых, можно задатьэкранной формыэкранной формы параметры в заголовке описания [[form-definition|экранной формы]]: Во вторых, можно задатьэкранной формыэкранной формы параметры в заголовке описания [[form-definition|экранной формы]]:
-<code>+<code xml>
 <form name="formName" caption="Заголовок" modal="1" width="90%" height="360px"> <form name="formName" caption="Заголовок" modal="1" width="90%" height="360px">
 описание экранной формы описание экранной формы
Строка 69: Строка 71:
 Пример обработки события **onshow** через отправку [[request|запроса]]: Пример обработки события **onshow** через отправку [[request|запроса]]:
  
-<code>+<code xml>
 <form name="formName" onshow="on-show"> <form name="formName" onshow="on-show">
   <requests>   <requests>
Строка 86: Строка 88:
  
 Эту обработку можно организовать иначе, ничего не объявляя в заголовке, а в секции **requests** объявив цепочку [[request|запросов]] с именем **onshow**: Эту обработку можно организовать иначе, ничего не объявляя в заголовке, а в секции **requests** объявив цепочку [[request|запросов]] с именем **onshow**:
-<code>+<code xml>
 <form name="formName"> <form name="formName">
   <requests>   <requests>
Строка 98: Строка 100:
  
 Пример обработки события **onshow** через выполнение JavaScript Пример обработки события **onshow** через выполнение JavaScript
-<code>+<code xml>
 <form name="formName" js_onshow="console.log('onshow, first='+get('#data.first'))"> <form name="formName" js_onshow="console.log('onshow, first='+get('#data.first'))">
 </form> </form>
Строка 113: Строка 115:
  
 Пример обработки события **onclose** через отправку [[request|запроса]]: Пример обработки события **onclose** через отправку [[request|запроса]]:
-<code>+<code xml>
 <form name="formName" onclose="on-close"> <form name="formName" onclose="on-close">
 </form> </form>
 </code> </code>
  
-Пример обработки события **onclose** через выполнение JavaScript +Пример обработки события **onclose** через выполнение JavaScriptэкспериментальная 
-<code>эксперементальная+<code xml>
 <form name="formName" js_onclose="console.log('onclose')"> <form name="formName" js_onclose="console.log('onclose')">
 </form> </form>
Строка 127: Строка 129:
 Это функция эксперементальная. Есть возможность перехватывать на клиенте отправляемые на сервер [[request|запросы]], обрабатывать их на клиенте, и возвращать ответ, не обращаясь к серверу.  Это функция эксперементальная. Есть возможность перехватывать на клиенте отправляемые на сервер [[request|запросы]], обрабатывать их на клиенте, и возвращать ответ, не обращаясь к серверу. 
 Обработчик **js_onrequest** получает отправляемый на сервер [[request|запрос]] в следующем виде: Обработчик **js_onrequest** получает отправляемый на сервер [[request|запрос]] в следующем виде:
-<code>+<code javascript>
 { {
   request: 'имя запроса',   request: 'имя запроса',
Строка 133: Строка 135:
   rowset: 'имя набора строк',   rowset: 'имя набора строк',
   datasource: 'имя источника данных на сервере',   datasource: 'имя источника данных на сервере',
-  xml: <запрос в виде XML узла>+  xml: 'запрос в виде XML узла'
-  json: <запрос, преобразованный в JSON>+  json: 'запрос, преобразованный в JSON'
 } }
 </code> </code>
form-definition-header.1770738592.txt.gz · Последнее изменение: 2026/02/10 18:49 — madmin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki