我试图弄清楚XUL是否适合在Intranet应用程序中使用GUI表单。

虽然很难找到真正使用的人。所以我想我会问一个问候世界风格的例子。

假设我有一个php页面,它只显示通过HTTP POST发送给它的任何内容。 (例如, http://mysite.com/postdumper.php

有人能告诉我创建收集名字,姓氏和年龄的XUL表单所需的最低代码,并允许我将其发布到上面的URL吗?

非常欢迎提供此类示例的任何链接或精细手册或参考文献。

有帮助吗?

解决方案

我将它用于内部网应用程序并且已经完成了几年。它可能很难开始,但一旦你了解了一些事情,很容易让它适合你。

  1. 忘了几乎所有关于HTML的知识。它不是HTML,并且有很多东西你不能用旧的方式做,但是你可以做很多其他事情。

  2. 所有通信都是通过javascript完成的,而不是表单。

  3. 叠加层与div无关。但它对于拆分大型项目的设计非常有用。

  4. 如果未在所有代码中正确格式化XUL页面,则该页面甚至不会显示。

  5. 有一个谷歌小组的主要目的是讨论远程XUL: http://groups.google.com/group/remotexul

    它还不太活跃,但更多的成员非常欢迎:)

    这是一个最小的例子:

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

    我还想强调一下,您应该考虑使用XMLRPC或JSON框架在XUL和PHP之间来回发送数据。 JSON支持将在Firefox 3.5中内置。

    另一件事是,除非你在about:config中进行一些配置,否则在Firefox 3.5到达之前你不能进行跨站点XMLHttpRequest。这意味着只有xul on mysite.com才能向mysite.com/postdump.php发送请求。

其他提示

创建一系列<!> lt; textbox <!> gt;'s,添加提交<!> <;按钮<!> gt;,并在从文本框中读取数据后,使用 xmlhttprequest 。您可以使用GET或POST。

如果您在XUL中使用其命名空间,则可以使用普通的旧xhtml表单,因为它是XML。

scroll top