如何从XForms操作调用JavaScript代码?

时间:2012-03-09 15:00:17

标签: javascript xforms

我正试图在XForm中点击按钮调用javascript。似乎是一件容易的事,但...... 我编写了here描述的所有内容,并将其添加到我的xml中:

<xforms:trigger>
    <xforms:label>Increment foo with JavaScript</xforms:label>
    <xxforms:script ev:event="DOMActivate">
        alert("Test!")
    </xxforms:script>
</xforms:trigger>

但是我在页面加载时遇到了这个错误:

  

致命错误:与元素类型“xxforms:script”关联的属性“ev:event”的前缀“ev”未绑定

我有没有想念?

1 个答案:

答案 0 :(得分:1)

这意味着从ev元素中看不到名称空间前缀<xxforms:script>

正如@grtjn在他的评论中提到的那样,你必须添加正确的XML名称空间声明。例如,在您的文档顶部:

<xhtml:html
    xmlns:xhtml="http://www.w3.org/1999/xhtml"
    xmlns:ev = "http://www.w3.org/2001/xml-events"
    xmlns:xforms="http://www.w3.org/2002/xforms"
    xmlns:xxforms="http://orbeon.org/oxf/xml/xforms">
    <xhtml:head>
        ...

请注意,在最近的Orbeon Forms版本中,事件属性的前缀现在是可选的,因此您可以编写如下内容:

<xxforms:script event="DOMActivate">

但其他实现可能不支持此功能。