我正在通过以下方式加载模态窗口:
$.ajax({
type: "GET",
url: "/myFile.cfm?cmid=<cfoutput>#someid#</cfoutput>",
dataType: "html",
success: function (h) {
$("div#salesNotes", window.parent.document).html(h);
}
});
在myFile.cfm中,我有一堆jquery语法控制按钮点击等。当我将此文件直接加载到浏览器中时,一切正常。没有错误。当我如上所述加载此文件时,这些控件都不起作用。我尝试附加load()并将所有函数放在那里,但这也不起作用。当我尝试提醒按钮ID时,我得到了未定义。怎么办?
答案 0 :(得分:0)
想通了。所有控件必须采用以下格式:
$.ajax({
type: "GET",
url: "/myFile.cfm?cmid=<cfoutput>#someid#</cfoutput>",
dataType: "html",
success: function (h) {
$("div#salesNotes", window.parent.document).html(h);
$("#myButton", window.parent.document).click(function(){ ... });
}
});
答案 1 :(得分:0)
如果问题是代码没有运行,那么它与数据放在页面上的方式有关。
浏览器通常不运行简单粘贴到页面上的代码,我通常讨厌eval,但最简单的方法是获取原始JS代码并在到达页面时对其进行评估。
success: function (h) {
eval(h);
}
如果外部内容是html和javascript的混合,那么最好使用write代替:
document.write(h);
还要确保检查内部代码是否正确执行事件方法。