2011-10-13 42 views
8

Im mới vào Dojo và cố gắng tạo một số giao diện người dùng nhưng chỉ sử dụng cách lập trình.Cách tạo biểu mẫu Dojo dijoit theo cách lập trình

Tôi muốn nếu ai đó có thể chỉ cho tôi một số ví dụ về cách tạo biểu mẫu bằng cách sử dụng Dojo dijit.form.Form theo chương trình. Tôi đã tìm kiếm một số ví dụ nhưng tất cả tôi có thể tìm thấy là cách khai báo của nó.

Trả lời

8

Một đối tượng nhiều giải pháp định hướng:

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); 
     } 
    }); 
} 
); 

Chỉ cần thả một new mypackage.MyForm({}) ở bất cứ nơi nào bạn có thể mong đợi một widget.

+1

Nhận xét nhanh: bạn không nên submitButton và textarea làm biến được xác định trong hàm tạo chứ? Chúng là đối tượng, và chúng sẽ kết thúc trong nguyên mẫu theo cách này ... mà tôi nghĩ là không được khuyến khích! – Merc

+0

Bạn có thể bao gồm một fiddle? những gì hiện safeMixin làm gì? Cảm ơn! – streetlight

6

Chuyển tiếp khá thẳng. Bạn chỉ cần tạo tất cả các phần của biểu mẫu và sau đó chắp thêm tất cả các phần vào phụ huynh tương ứng của chúng. Để tạo các đối tượng hình thức, giống như bất kỳ đối tượng dijit, bạn vượt qua các nhà xây dựng một param đối tượng , và một domNode để đặt nó vào, như vậy:

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

Các ví dụ đầy đủ là here. Để tìm ra những thuộc tính nào có thể được thêm vào đối tượng params, xem API Docs. Bất kỳ thuộc tính nào cũng có thể được thêm vào danh sách tham số.

+0

Cảm ơn điều này hữu ích – Jmsegrev

Các vấn đề liên quan