1

我正在尝试使用 jquery 的加载功能从不是冷融合应用程序的页面加载冷融合页面,如下所示。

  $("#eventboxol").load('/cfapps/homepage_updates/deleteevent.cfm?eventid='+id);

页面加载正常并且也可以工作,但是日期字段和富文本区域不起作用。当我单击日期字段并且富文本区域显示为普通文本区域时,没有任何反应。我猜这可能是因为调用页面不是冷融合页面。有没有办法强制加载处理 CFM 页面?

编辑:这些是未正确呈现的字段:

<cftextarea html="no" width="220" height="60" richtext="yes" toolbar="BasicLink" toolbarOnFocus="true" name="description" required="true"></cftextarea>
<cfinput type="datefield" name="enddate" maxlength="30">

当我直接访问页面而不是通过加载功能时,它们按预期工作。

4

2 回答 2

2

在我看来,这听起来像是您正在尝试在 dom 中实际可用必要的标记(来自 cfml 页面)之前初始化您的 javascript 控件(即,可能是 $("#datepicker").datepicker()) 方法。

换句话说,确保首先加载 cfml 页面,并且只有在加载完成后才运行 javascript 来初始化日期选择器和富文本编辑器(即这应该在加载方法的成功回调时发生)

伪代码

$('#content').load('ajax/cfml_page.cfm', function() {
  // setup js controls
});

希望有帮助

编辑:哎呀,现在我看到您正在尝试使用内置的 cfml 表单控件,我的回答并不相关。为了更精简的 javascript 和更大的灵活性,可能值得考虑放弃内置的 cfml 表单控件并使用 jqueryui 或其他库来完成此任务。

于 2012-10-30T19:15:39.947 回答
0

尝试将 ID="controlName" 添加到您的两个冷融合属性。你只给它一个名字而不是一个ID。

---对不起,无法弄清楚如何删除我的答案。误读了您的问题,以为您无法访问您的字段。

于 2012-10-30T19:18:48.300 回答