8

我是 Dojo 的新手,我正在尝试制作一些 ui,但仅使用编程方式。

我希望有人可以向我展示一些如何使用 Dojo dijit.form.Form 以编程方式制作表单的示例。我一直在寻找一些例子,但我能找到的只是它的声明方式。

4

2 回答 2

8

更面向对象的解决方案:

define( [
"dojo/_base/declare", 
"dijit/form/Form",
"dijit/form/Textarea",
"dijit/form/Button"
],

function(declare, Form, TextArea, Button) {
    return declare( "mypackage.MyForm", Form, {
        textarea: new TextArea({}),

        submitButton: new Button({
            type: "submit",
            label: "ready!"
        }),

        constructor: function(args) {
            declare.safeMixin(this, args);
        },

        onSubmit: function() { 
            alert(this.textarea.get('value')); 
        },

        postCreate: function() {
            this.domNode.appendChild( this.textarea.domNode );
            this.domNode.appendChild( this.submitButton.domNode );
        }
    });
}
);

只需将 anew mypackage.MyForm({})放在您可能期望小部件的任何地方。

于 2012-02-19T11:42:46.097 回答
6

它非常简单。您只需创建表单的所有部分,然后将所有部分附加到它们各自的父级。要创建表单对象,就像任何 dijit 对象一样,您需要向构造函数传递一个param对象和一个domNode来放置它,如下所示:

var resetbtn = new dijit.form.Button({
    type: 'reset',
    label: 'Reset'
}, dojo.doc.createElement('button'));

完整的例子在这里。要了解可以将哪些属性添加到 params 对象,请参阅API 文档。任何属性都可以添加到参数列表中。

于 2011-10-31T18:24:00.980 回答