[ECSide] fins,关于使用<ec:extendrow location="top">时,可编辑功能失效,产生js错误的问题,急急!

luanjy 2007-09-09
fins,这几天我一直在学习ecside,在学习发现了一个js错误,我描述如下:
我以你提供的ecside_2[1].0_rc1_20070601文件中的demo_action.jsp文件为例作出说明。
首先ecside为editable="true"时,列表的可编辑功能是好用的.
但是当我使用<ec:extendrow  location="top">引入其他元素的时候,列表的可编辑功能就失效的,页面发生了js错误.

通过分析ecside.js的ECSideUtil.editCell=function(cellObj,formid,templateId)函数,发现了错误原因。

如下代码存在错误:
if (!templateId){
var idx=cellObj.cellIndex;
var thcell=ecsideObj.ECListHead.rows[0].cells[idx];
templateId=thcell.getAttribute("editTemplate");
}
var template=document.getElementById(templateId);
var templateText=window.isIE?template.value:template.textContent;

通过alert判断,当引入<ec:extendrow  location="top">时,
templateId=thcell.getAttribute("editTemplate")的返回值是null,而不是期望的模版id号(如ecs_t_input).
造成var templateText=window.isIE?template.value:template.textContent;的js错误,导致可编辑功能失效.

希望你在看到帖子后,能及时给与回复,谢谢。
十万火急!

luanjy 2007-09-09
我说明一下为什么一定使用<ec:extendrow  location="top">功能的原因。

首先我要实现的在一个页面的主从表编辑功能功能。
1.页面的上面部分记录的是主表的数据.
2.页面的下面部分记录的是从表的列表数据(通过ecside的)。

由于我们要求一次同时提交主表和从表数据,所以也就必须要求主表和从表的数据在一个form中(不能使用多个form表单),
因此必须使用<ec:extendrow  location="top">。
luanjy 2007-09-09
我改成用<ec:extend location='top'>了,这个更合理。
Global site tag (gtag.js) - Google Analytics