Parsear formulario con XML y mootools

Este es un problema que creo que a muchos nos ha dado un dolor de cabeza pero la solución en mootools es muy fácil. Explicaré el código siguiente.

Este es el XML creo que no debe haber problema.

mixml.xml

xml version="1.0" encoding="utf-8"?>
<mitag>textotagmitag>

El index es algo muy básico de programación web sin embargo cabe destacar que  el action es el que determina de que archivo se traeran los datos pues no se determina en el javascript.

index.html
<form id="formprincipal" action="mixml.xml" method="post">
<input type="submit" value="¡Envialo a todos!">
form>

Aquí es la parte de conexión asincrona con mootools cabe mencionar que este código se ejecuta desde un form en el index.html llamado "formprincipal" el cual suspende su funcionamiento original para funcionar como la nueva función lo determina.
La parte subrayada en rojo es lo mas importante, generalmente en mootools las funciones se llaman con responseText. Lo que hace responseText es que te manda la información del archivo en texto plano, pero nosotros queremos la respuesta en un objeto XML es por eso que debe estar ahí.
El alert nos deberá mostrar "textotag".

        window.addEvent('domready', function() {
        formelement=$("formprincipal"); //creamos un objeto de un elemento de página
        formelement.addEvent('submit', function(e) { //agregamos el evento submit al objeto.
        e.stop();  //detenemos el funcionamiento original del submit.
        this.set('send', {
        onSuccess: function(responseText,responseXML) {  //al finalizar la función recibiremos el primer hijo
        alert(responseXML.getElementsByTagName('mitag')[0].firstChild.data);
        }
        });
        this.send(); //enviamos la peticion
        });
        });

Eso es todo para realizar un formulario y una conexión asincrona con mootools obviamente si queremos utilizar un lenguaje servidor lo unico que debemos cambiar es nuestro archivo xml por uno con otra extensión ejm php.

Comentarios

Entradas populares de este blog

Jude Bellingham busca ganar 5 champions una Euro y tal vez un mundial.

Nissan March 2020 VS Chevrolet Spark 2020