Pregunta

Estoy tratando de averiguar si XUL es un buen candidato para formularios GUI en aplicaciones de intranet.

Sin embargo, ha sido difícil encontrar a alguien que realmente lo use . Por lo tanto, pensé en pedir un ejemplo de estilo hola mundial.

Supongamos que tengo una página php que no hace nada más que mostrar cualquier contenido enviado a través de HTTP POST. (por ej., http://mysite.com/postdumper.php )

¿Alguien puede mostrarme el código mínimo necesario para crear un formulario XUL que recopile el nombre, el apellido y la edad, y me permita PUBLICAR eso en la URL anterior?

Cualquier enlace o Manual Fino o referencias que den ese ejemplo son más que bienvenidos.

¿Fue útil?

Solución

Lo uso para una aplicación de intranet y lo he hecho durante algunos años. Puede ser difícil comenzar, pero una vez que comprenda algunas cosas, es fácil hacer que funcione para usted.

  1. Olvidé casi todo lo que sabías sobre HTML. NO es HTML y hay muchas cosas que no puedes hacer a la antigua usanza, pero hay una cantidad increíble de otras cosas que puedes hacer en su lugar.

  2. Todo lo relacionado con la comunicación se realiza con JavaScript y no con formularios.

  3. Las superposiciones no tienen nada que ver con los div. Pero es muy útil para dividir un diseño para proyectos más grandes.

  4. Si una página XUL no está formateada correctamente en todas las etiquetas, la página ni siquiera se mostrará.

Hay un grupo de google donde el propósito principal es discutir XUL remoto: http://groups.google.com/group/remotexul

Todavía no está muy activo, pero más miembros son más que bienvenidos :)

Aquí hay un ejemplo mínimo:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="yourwindow" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script language="javascript">
    function send()
    {
        var firstName = document.getElementById('firstName').value;
        var lastName = document.getElementById('lastName').value;
        var age = document.getElementById('age').value;
        var postData = "firstName="+firstName;
        postData += "&amp;lastName="+lastName;
        postData += "&amp;age="+age;

        var req = new XMLHttpRequest();
        req.open("POST", "/test.php", false);
        req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

        req.send(postData);
        alert(req.responseText);

    }
</script>
<hbox>
    <vbox>
        <hbox>
            <label value="First Name" control="firstName"/>
            <textbox id="firstName"/>
        </hbox>
        <hbox>
            <label value="Last Name" control="lastName"/>
            <textbox id="lastName"/>
        </hbox>
        <hbox>
            <label value="Age" control="age"/>
            <textbox id="age" value="30" type="number"/>
        </hbox>
        <button onclick="send()" label="Send"/>
    </vbox>
</hbox>
</window>

También me gustaría enfatizar que debe considerar enviar datos de un lado a otro entre XUL y PHP utilizando un marco XMLRPC o JSON. La compatibilidad con JSON vendrá como incorporada en Firefox 3.5.

Otra cosa es que hasta que llegue Firefox 3.5 no puede hacer XMLHttpRequest entre sitios a menos que realice alguna configuración en about: config. Lo que significa que solo xul en mysite.com puede enviar solicitudes a mysite.com/postdump.php.

Otros consejos

Cree una serie de < textbox > 's, agrega un envío < botón > ;, y después de leer los datos de los cuadros de texto, envíelos usando xmlhttprequest . Puede usar GET o POST.

puede usar formularios xhtml antiguos simples siempre que use su espacio de nombres en XUL ya que es XML.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top