跳至內容

XForms/簡單訊息

來自華夏公益教科書,開放的書籍,為開放的世界

這是一個 XForms 中的簡單訊息。使用者按下按鈕,他們會看到一個警報面板。這是一個模式訊息的示例,使用者必須響應它才能繼續使用表單。稍後我們將介紹其他兩種型別的訊息。

螢幕影像

[編輯 | 編輯原始碼]

這是一個顯示短暫訊息的螢幕影像

[編輯 | 編輯原始碼]

簡單訊息

示例程式

[編輯 | 編輯原始碼]
<html
 xmlns="http://www.w3.org/1999/xhtml"
 xmlns:xf="http://www.w3.org/2002/xforms"
 xmlns:ev="http://www.w3.org/2001/xml-events"
>
   <head>
      <title>XForms Message</title>
      <xf:model id="myModel">
         <xf:instance xmlns="">
         <data>
            <MyMessage xmlns="">This is a modeless message stored directly in the model.
                Note you can drag me to the side and still proceed to the next task.</MyMessage>
            <inp1/>
            <inp2/>
         </data>
         </xf:instance>
      </xf:model>
   </head>
   <body>
      <p>Put your cursor in the first input.  A message will appear for just a moment.</p>
         <xf:input ref="inp1">
            <xf:label>Ephemeral message: </xf:label>
            <xf:message level="ephemeral" ev:event="DOMFocusIn">This is an ephemeral message.
                Don't worry, I go away after a few seconds.</xf:message>
         </xf:input>
         <br/>
          <p>Press enter in the input field to get a modeless message:</p>
         <xf:input ref="inp2">
            <xf:label>Modeless message input: </xf:label>
            <xf:message level="modeless" model="myModel" ref="/data/MyMessage" ev:event="DOMActivate"/>
         </xf:input>
         <br/>
          <p>A standard and intrusive modal message that must be dismissed:</p>
         <xf:trigger>
            <xf:label>Press for a modal message</xf:label>
            <xf:message level="modal" ev:event="DOMActivate">This is a modal message.</xf:message>
         </xf:trigger>
   </body>
</html>

第一個和最後一個訊息的資料來自文件的主體。無模式訊息透過使用對模型的 XPath 表示式直接從主體獲取。

請注意,第一個事件發生在您開始在輸入欄位中輸入資料時。這是 **DOMFocusIn** 事件。另外兩個使用 **DOMActivate** 事件,該事件發生在您在第二個示例中輸入回車並在最後一個示例中按下按鈕時。

--上面的解釋似乎不適用於簡單訊息示例! --示例已修復

示例在我的環境中無法執行。eXist、jetty、betterFORM、Firefox。結果是 betterFORM 訊息:xforms-binding-exception: 找不到模型 'myModel' XPath:/html[1]/body[1]/xf:input[2]/xf:message[1]

上面的錯誤是由於元素的 ID 未設定。現在已部分修復,使用 <xf:model id="myModel">,但仍然無法獲得無模式訊息—已修復

下一頁:  XForms 架構 | 上一頁: HelloWorld
首頁: XForms
華夏公益教科書