Как я могу вызвать код JavaScript из действия XForms? - PullRequest
0 голосов
/ 09 марта 2012

Я пытаюсь вызвать JavaScript при нажатии кнопки в XForm.Кажется, это простая задача, но ... Я запрограммировал все, как описано здесь , и добавил это в мой xml:

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

Но я получаю эту ошибку, когдазагружена страница:

Неустранимая ошибка: префикс «ev» для атрибута «ev: событие», связанный с типом элемента «xxforms: script», не связан

Я что-то пропустил?

1 Ответ

1 голос
/ 09 марта 2012

Это означает, что префикс пространства имен 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">

Но это может не поддерживаться другими реализациями.

...