我有一個特定的問題。我嘗試通過javascript函數創建動態html代碼,並將其放入dojo對話框內容中。我的javascript函數是:dojo對話框動態內容2
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);
}
其中jt_docWrite和jt_docWriteln是JS功能:
function jt_docWrite() {
if (arguments.length == 1) {
document.write(arguments[0]);
}
if (arguments.length == 2) {
arguments[1].write(arguments[0]);
}
}
這doPushButton()函數調用林在道場dialog.create:
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();
});
當我使用我的doPushButton()函數之前在我的HTML頁面,如<script> doPushButton(document, "yes", "doConfirm()", "", "../image/accept.gif", Res_yes_title, 0, "push_button") </script>
,它的工作很好,但現在我想把它放在dojo對話框中,它不起作用,並且此函數的結果是「undefine」。有人能幫助我什麼是錯誤的?非常感謝。
米羅