Javascript dojo对话框动态内容2

Javascript dojo对话框动态内容2,javascript,dojo,Javascript,Dojo,我有一个特别的问题。我尝试通过javascript函数创建动态html代码,然后放入dojo对话框内容。我的javascript函数是: function doPushButton(doc, id, action, title, imgRef, text, width, style) { var tabIndex; if(arguments.length > 8) tabIndex = arguments[8]; var accessKey; if(argu

我有一个特别的问题。我尝试通过javascript函数创建动态html代码,然后放入dojo对话框内容。我的javascript函数是:

function doPushButton(doc, id, action, title, imgRef, text, width, style) {
var tabIndex;
if(arguments.length > 8)
        tabIndex = arguments[8];
    var accessKey;
    if(arguments.length > 9)
        accessKey = arguments[9];
    jt_docWrite('<div class="' + style + '" style="cursor: pointer' + (width > 0 ? ';width:' + width + 'px' : '') + '"', doc);
    if(id != null)
        jt_docWrite(' id="' + id + '"', doc);
    if(tabIndex != null)
        jt_docWrite(' tabindex="' + tabIndex + '"', doc);
    if(accessKey != null)
        jt_docWrite(' accesskey="' + accessKey + '"', doc);
    jt_docWrite(' title="' + title + '" onclick="' + action + '">', doc);
    if(imgRef != null)
        jt_docWriteln('<img class="label_icon right" src="' + imgRef + '"/>', doc);
    if(text != null)
        jt_docWriteln('<span class="label">' + text + '</span>', doc);
    jt_docWriteln('</div>', doc);
}
我在dojo dialog.create中调用的doPushButton函数:

require(["dojo/ready", "dojo/parser"], function(ready, parser){
            ready(function(){
                var dialog = dijit.byId("myDlg");
                dojo.create('div', {
                    innerHTML: "Hello"
                  }, dialog.containerNode);
                  var div = dojo.create('div', {}, dialog.containerNode);
                  dojo.create('div', {

                  innerHTML: doPushButton(document, "yes", "doConfirm()", "", "../image/accept.gif", Res_yes_title, 0, "push_button")

                  }, div);
                  dialog.show();
            });
当我以前在html页面中使用doPushButton函数时,比如,它工作正常,但现在我想把它放在dojo对话框中,它不工作,该函数的结果不确定。谁能帮帮我出什么事了??非常感谢

Miro

您的doPushButton方法从不返回值。它调用jt_docWriteln,将包含的html写入文档。innerHTML属性的值必须是一个节点或一个可以是HTML的字符串,并且由于doPushButton不返回任何内容,因此您正在未定义地传递它

require(["dojo/ready", "dojo/parser"], function(ready, parser){
            ready(function(){
                var dialog = dijit.byId("myDlg");
                dojo.create('div', {
                    innerHTML: "Hello"
                  }, dialog.containerNode);
                  var div = dojo.create('div', {}, dialog.containerNode);
                  dojo.create('div', {

                  innerHTML: doPushButton(document, "yes", "doConfirm()", "", "../image/accept.gif", Res_yes_title, 0, "push_button")

                  }, div);
                  dialog.show();
            });