Javascript Dojo对话框-如何保存对话框内容
我是dojo新手,我一直在学习这里提到的教程 我不知道如何捕获对话框中输入的数据Javascript Dojo对话框-如何保存对话框内容,javascript,dojo,Javascript,Dojo,我是dojo新手,我一直在学习这里提到的教程 我不知道如何捕获对话框中输入的数据 <script type="text/javascript"> require(["dojo/ready", "dijit/Dialog", "dijit/form/Button"], function(ready, Dialog, Button){ ready(function(){ var myDialog = new Dialog({ t
<script type="text/javascript">
require(["dojo/ready", "dijit/Dialog", "dijit/form/Button"],
function(ready, Dialog, Button){
ready(function(){
var myDialog = new Dialog({
title: "Add",
style: "width: 600px"
});
var myButton = new Button({
onClick: function(){
myDialog.set("content", getDialog());
myDialog.show();
}
}, "progbutton");
});
});
function getDialog(){
return document.getElementById('add-link-dialog-container').innerHTML;
}
</script>
require([“dojo/ready”、“dijit/Dialog”、“dijit/form/Button”],
功能(就绪、对话框、按钮){
就绪(函数(){
var myDialog=新建对话框({
标题:“添加”,
样式:“宽度:600px”
});
var myButton=新按钮({
onClick:function(){
set(“content”,getDialog());
myDialog.show();
}
},“程序按钮”);
});
});
函数getDialog(){
return document.getElementById('add-link-dialog-container').innerHTML;
}
Html:
姓名:
地址:
添加
取消
新增
对话框确实会弹出。但是如何捕获字段中输入的数据?
有更好的方法吗?如果正在打开对话框,那么您应该能够使用模块检索表单字段(以及值/数据) 例如:
require([ "dijit/registry" ], function(registry) {
registry.byId("ok").on("click", function() {
registry.byId("address").get("value"); // Will return the "address" value
});
});
myDialog.on("load", function() {
registry.byId("ok").on("click", function() {
registry.byId("address").get("value"); // Will return the "address" value
});
});
当然,问题是,何时将事件处理程序添加到按钮中。您必须等待对话框加载,直到可以向其添加事件处理程序。好消息是,dijit/Dialog
有一个名为的事件,我们可以使用它
例如:
require([ "dijit/registry" ], function(registry) {
registry.byId("ok").on("click", function() {
registry.byId("address").get("value"); // Will return the "address" value
});
});
myDialog.on("load", function() {
registry.byId("ok").on("click", function() {
registry.byId("address").get("value"); // Will return the "address" value
});
});
但是,如果您对提交所有表单数据感兴趣,您应该看看
dijit/form/form
小部件,它允许您获取/设置表单值、验证表单并提交表单。工作非常完美。谢谢:)