起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3468|回复: 6

[处理中] 删除红头文件是报错 Cannot read property 'docName' of undefined

[复制链接]

536

主题

1199

帖子

2588

积分

金牌会员

Rank: 6Rank: 6

积分
2588
QQ
发表于 2014-10-23 11:23:10 | 显示全部楼层 |阅读模式
我用了2.6版本可以套红,但是删除套红文件就会报错
Uncaught TypeError: Cannot read property 'docName' of undefined详细


我跟踪代码,// 更改模板名称
        if (fieldName == "fTemplate") {
                var title = data.getValue('fTitle');
                debugger;
                if ('' != title) {
                        if (event.value != '') {
                                setTimeout(function() {
                                        var tmp = event.value;
                                        var obj = eval(tmp);


                                        var docName = obj[0].docName;

                                                var ext = docName.split(".")[1];
                                                alert(ext);
                                                title += "(正文)" + "." + ext;
                                                if (docName == title) {
                                                        return;
                                                }
                                        //        alert("jieshu");
                                                var template = tmp.replace(docName, title);
                                                alert(template);
                                                data.setValue("fTemplate", template);

                                //        }
                                        //alert(docName);

                        //        }, 500);
                        }
                }
        }

删除的时候  var obj = eval(tmp); 的obj是空,为什么啊? 怎么删除不掉啊  非常着急的用  继续远程解决, QQ 319515678


91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36133
发表于 2014-10-23 15:13:26 | 显示全部楼层
是执行的data的删除吗?如果是执行的data删除可以判断一下当前数据如果是删除的状态就不执行这段代码
data的getState(string rowID) 获取行id对应行的状态
如果是判断是不是delelte,如果是就不执行这段代码
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴

536

主题

1199

帖子

2588

积分

金牌会员

Rank: 6Rank: 6

积分
2588
QQ
 楼主| 发表于 2014-10-23 15:24:16 | 显示全部楼层
jishuang 发表于 2014-10-23 15:13
是执行的data的删除吗?如果是执行的data删除可以判断一下当前数据如果是删除的状态就不执行这段代码
data ...

是组件上自带的删除按钮,他调用了一些代码,具体搞不懂   能给我远程下么,你同事出去了,他说跟你说了,你帮我远程看下吧,因为比较急,明天去见客户,今天还有好多问题要改,谢谢  QQ 319515678

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36133
发表于 2014-10-23 15:59:59 | 显示全部楼层
代码是在data的onValueChanged中的把上面的代码改为下面的
  1. var rowid = data.getCurrentID();
  2.         if(data.getState(rowid) == "delete"){
  3.                   // 更改模板名称
  4.         if (fieldName == "fTemplate") {
  5.                 var title = data.getValue('fTitle');
  6.                 if ('' != title) {
  7.                         if (event.value != '') {
  8.                                 setTimeout( function() {
  9.                                         var tmp = event.value;
  10.                                         var obj = eval(tmp);
  11.                                         var docName = obj[0].docName;
  12.                                         var ext = docName.split(".")[1];
  13.                                         title += "(正文)" + "." + ext;
  14.                                         if (docName == title) {
  15.                                                 return;
  16.                                         }
  17.                                         var template = tmp.replace(docName, title);
  18.                                         data.setValue("fTemplate", template);
  19.                                 }, 500);
  20.                         }
  21.                 }
  22.         }
  23.         if (fieldName == "fTitle") {
  24.                 var template = data.getValue('fTemplate');
  25.                 var title = event.value;
  26.                 if ('' != template && '' != title) {
  27.                         setTimeout( function() {
  28.                                 var obj = eval(template);
  29.                                 var docName = obj[0].docName;
  30.                                 var ext = docName.split(".")[1];
  31.                                 title += "(正文)" + "." + ext;
  32.                                 if (docName == title) {
  33.                                         return;
  34.                                 }
  35.                                 var tmp = template.replace(docName, title);
  36.                                 data.setValue("fTemplate", tmp);
  37.                         }, 500);
  38.                 }
  39.         }
  40.         }
复制代码
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴

536

主题

1199

帖子

2588

积分

金牌会员

Rank: 6Rank: 6

积分
2588
QQ
 楼主| 发表于 2014-10-23 16:16:31 | 显示全部楼层
jishuang 发表于 2014-10-23 15:59
代码是在data的onValueChanged中的把上面的代码改为下面的

这样删除是不报错了,但是再套红就套不上了,如果说不小心删除了,想再次套红的话 ,怎么都套不上啊?

536

主题

1199

帖子

2588

积分

金牌会员

Rank: 6Rank: 6

积分
2588
QQ
 楼主| 发表于 2014-10-23 17:08:02 | 显示全部楼层
jishuang 发表于 2014-10-23 15:59
代码是在data的onValueChanged中的把上面的代码改为下面的

刚刚试了,你的方法是整条数据都删除,在我上传和删除附件的时候弹出的是 eitd, 应该是编辑,他只是删除了一个字段,所以还是属于编辑,并没有delete值

39

主题

1379

帖子

2464

积分

金牌会员

Rank: 6Rank: 6

积分
2464
发表于 2014-10-27 09:38:02 | 显示全部楼层
win3394393 发表于 2014-10-23 17:08
刚刚试了,你的方法是整条数据都删除,在我上传和删除附件的时候弹出的是 eitd, 应该是编辑,他只是删除 ...

你们是不是修改过这里的代码,我用网上的资源不存在你说的问题
高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-4-19 06:30 , Processed in 0.060144 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表