XForms/Validación con JavaScript

De Wikilibros, la colección de libros de texto de contenido libre.

Motivación[editar]

En algún momento XForms elementos de datos no hacen todo lo que usted necesita. Esto es especialmente cierto para el manejo de excepciones. Cuando esto sucede, usted puede cargar dinámicamente un programa JavaScript para manejar la funcionalidad requerida.

En este ejemplo se utilizará el elemento de carga XForms. Pero a diferencia de la mayoría de las funciones de JavaScript, no se carga en el navegador hasta que se necesite.

Programa de ejemplo[editar]

Aquí está un ejemplo de uso del elemento de carga dentro de un disparador XForms: En primer lugar se necesita un pequeño funtion JavaScript para probar el siguiente aspecto:

   <script type="text/javascript">
      var MyJavaScript=function(){
         alert('Hello From JavaScript');
      }    
   </script>

A continuación, puede llamar a esta función de JavaScript mediante la función de carga dentro de un trigger:

<xf:trigger>
   <xf:label>Run JavaScript</xf:label>
   <xf:action ev:event="DOMActivate">
      <xf:load resource="javascript:MyJavaScript()" />
      ........
   </xf:action>
</xf:trigger>
<source lang="xml">

También puede pasar datos de una instancia XForms mediante el siguiente ejemplo:

function myjavascriptfunction(id) {
   // We get the instance element
   var instanceElement = document.getElementById(id);
      if (instanceElement!=null) {
      // XForms exposes the retrieval of the instance document from the model element which *should*
      // be the parent for the instance element.
      var instance = instanceElement.parentNode.getInstanceDocument(id);
      }
}

Cuando el usuario selecciona esta activación de la función JavaScript mi-javascript-función se carga dinámicamente en la aplicación XForm y ejecutado.