跳至内容

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
华夏公益教科书