DOJO对话框提交奇怪的结果

DOJO对话框提交奇怪的结果,dojo,dialog,Dojo,Dialog,我对以下代码有问题。execute函数不是在表单提交时执行(正在创建一个按钮),而是在对话框出现之前执行。程序的流程就是你点击一个按钮,对话框就应该被创建。任何帮助都将不胜感激 dojo.addOnLoad(function(){ theDialog = new Dijit.Dialog({}); theDialog.attr("Class", "soria"); } function createDialog(){ theDialog.attr("title", "Add N

我对以下代码有问题。execute函数不是在表单提交时执行(正在创建一个按钮),而是在对话框出现之前执行。程序的流程就是你点击一个按钮,对话框就应该被创建。任何帮助都将不胜感激

dojo.addOnLoad(function(){
   theDialog = new Dijit.Dialog({});
   theDialog.attr("Class", "soria");
}
function createDialog(){
   theDialog.attr("title", "Add New");
   theDialog.attr("Content", buildContent());
   theDialog.attr("execute", alert('hello'));
   dojo.parser.parse(theDialog.parentNode);
   theDialog.show();
}

这是独立于Dojo的。函数的参数在调用函数之前进行求值。也许您想引用“alert('hello')”并传递字符串?否则,将立即评估警报。

不确定为什么需要调用parse。这仅适用于声明性标记,如。。。另外,我不确定对话框上是否有执行属性。也许有一个方法可以让dojo.connect连接到。buildContent实际上返回一个字符串作为html内容。其中有一些按钮需要解析。这更像是一项黑客工作,因为我想让对话框以一种特定的方式显示,带有两个网格和一些按钮。我会添加更多的功能细节,但开发笔记本电脑不能在工作时放在网络上。所以我必须重新键入所有内容。现在有一个错误表明,execute不是一个函数。有什么想法吗?没关系,我没有仔细看你的第一反应。谢谢你的帮助