Question

J'essaie de savoir si XUL est un bon candidat pour les formulaires à interface graphique dans les applications intranet.

Cependant, il est difficile de trouver une personne qui l'utilise . Je me suis donc dit que je demanderais un exemple de style hello world.

Supposons que ma page php ne fasse que afficher le contenu qui lui est envoyé via HTTP POST. (par exemple, http://mysite.com/postdumper.php )

Quelqu'un peut-il me montrer le code minimum nécessaire à la création d'un formulaire XUL qui collecte le prénom, le nom et l'âge, et me permet de l'envoyer à l'URL ci-dessus?

Tous les liens, bons manuels ou références qui donnent un tel exemple sont plus que bienvenus.

Était-ce utile?

La solution

Je l'utilise pour une application intranet et je le fais depuis quelques années maintenant. Cela peut être difficile de commencer, mais une fois que vous avez compris certaines choses, il est facile de le faire fonctionner pour vous.

  1. Oubliez presque tout ce que vous saviez du HTML. Ce n'est pas du HTML et il y a beaucoup de choses que vous ne pouvez pas faire à l'ancienne, mais il y a une quantité incroyable de choses que vous pouvez faire à la place.

  2. Toute la communication est faite en javascript, et non en formulaires.

  3. Les incrustations n'ont rien à voir avec les div. Mais il est extrêmement utile de diviser une conception pour des projets plus importants.

  4. Si une page XUL n'est pas correctement formatée dans toutes les balises, la page ne s'affichera même pas.

Il existe un groupe Google dans lequel le but principal est de discuter de XUL distant: http://groups.google.com/group/remotexul

Ce n'est pas encore très actif, mais plus de membres sont les bienvenus:)

Voici un exemple minimal:

<?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>

Je voudrais également souligner que vous devriez envisager d'envoyer des données entre XUL et PHP en utilisant plutôt un framework XMLRPC ou JSON. Le support JSON sera intégré à Firefox 3.5.

Une autre chose est que, tant que Firefox 3.5 n’est pas arrivé, vous ne pouvez pas utiliser les requêtes XMLHttpRequest intersites à moins d’effectuer une configuration dans about: config. Ce qui signifie que seul xul sur mysite.com peut envoyer des requêtes à mysite.com/postdump.php.

Autres conseils

Créez une série de < textbox > ', ajoutez un submit < bouton > ;, et après avoir lu les données des zones de texte, envoyez-les à l’aide de xmlhttprequest . Vous pouvez utiliser GET ou POST.

vous pouvez utiliser d'anciens formulaires xhtml simples à condition que vous utilisiez son espace de noms dans XUL puisqu'il s'agit de XML.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top