跳轉到內容

XForms/Send

來自華夏公益教科書,自由的教科書

您想要向 Web 伺服器傳送請求,以將額外的 XML 資料新增到您的表單中。這允許 XForms 的不同部分延遲獲取資料,直到需要它為止。這使得大型表單載入更快,並避免不必要的網路流量。

使用 send 元素

[編輯 | 編輯原始碼]

send 元素有一個引數,即 submission。這必須是模型中一個 submission 元素的 ID。

以下是一個例子

   <xf:send submission="get-additional-data"/>

如果您引用此 submission,則需要在您的模型中有一個對應的 submission。

   <xf:model>
      <xf:submission id="get-additional-data" .../>
   </xf:model>

常見用法

[編輯 | 編輯原始碼]

send 最常見的用法是執行增量模型載入。如果您有一個包含多個選項卡的大型表單,您可以等到使用者選擇選項卡時再載入該選項卡的資料。

在以下程式碼片段中,如果使用者選擇了表單的 tab-5,則載入表單資料的 submission 將被髮送到伺服器。

<xf:case id="tab-5">
     <xf:action ev:event="xforms-select" if="not(instance('tab-5-data')/my-data)">
         <xf:send submission="get-tab-5-data"/>
     </xf:action>
     <h2>Tab 5</h2>
</xf:case>

請參閱 XForms/Incremental_Model_Loading,瞭解其工作原理的示例。

下一頁: Load | 上一頁: Range
主頁: XForms
華夏公益教科書