我一直试图弄清楚如何使用Dojo 1.7在Dialog中创建和显示表单.
我希望我的对话框看起来像这样:

我见过的所有样本都使用Markup,但没有使用AMD
Fro*_*ode 21
创建对话框时,可以使用窗口小部件(例如表单)作为内容.所以,例如,您可以这样做:
require([
"dijit/Dialog",
"dijit/form/Form",
"dijit/form/TextBox",
"dijit/form/Button",
"dojo/domReady!"
], function(Dialog, Form, TextBox, Button)
{
var form = new Form();
new TextBox({
placeHolder: "Name"
}).placeAt(form.containerNode);
new Button({
label: "OK"
}).placeAt(form.containerNode);
var dia = new Dialog({
content: form,
title: "Dialog with form",
style: "width: 300px; height: 300px;"
});
form.startup();
dia.show();
});//~require
Run Code Online (Sandbox Code Playgroud)
require()由Dojo提供.它加载依赖项(Form,Dialog等),然后运行创建小部件的给定函数.但是,因为我们包含domReady!在依赖项中,所以Dojo确保DOM已完全加载并准备好.
因为我也有dia.show()该功能,所以只要页面打开就会显示对话框.假设您想要在单击页面上的某个按钮时显示对话框:
require([
"dijit/Dialog",
"dijit/form/Form",
"dijit/form/TextBox",
"dijit/form/Button",
"dojo/on", // Added this!
"dojo/domReady!"
], function(Dialog, Form, TextBox, Button, onEvent)
{
// ... as above, we create the dialog and form when the page loads
// but it remains hidden until we call dia.show() ...
form.startup();
// dia.show(); Commented out this!
onEvent(document.getElementById("someButtonOnYourPage"), "click",
function()
{
dia.show();
});
});//~require
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12520 次 |
| 最近记录: |