[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'>了,这个更合理。
|