主题: 老大。还是插入编辑器问题。帮我看看 |
作者: 小浪子, 发布日期: 2012-11-05 10:39:20, 浏览数: 3173 |
RT, 现在的问题是。比如上传了两张图片。我点第一个插入到编辑器。就会出现两张一样的第一张上传的图片。点第二个正常。。反正就是上传多个。点第一个总是插入的多张第一张上传的图片。 上次使用的是编辑器的批量上传的组件。我现在改成uploadify的了。。因为领导是用的笔记本。屏幕小。 弹出你这个批量上传组件的时候。下面的插入。在屏幕下面。没法点。让我改。没办法。就换成了uploadify... 很是郁闷。。。 function doUpLoad(SwfFilePath, BtnFilePath, Path, UpLoadId, FileId, ObjEditor) { var UpLoadJsonUrl; UpLoadJsonUrl = Path + 'Inc/UpFile.Asp?stype=1&Action=SaveLoadMain&smode=1&sdir=' + UpLoadId; $("#" + FileId).uploadify({ //指定swf文件 swf: SwfFilePath, //后台处理的页面 uploader: UpLoadJsonUrl, checkExisting: UpLoadJsonUrl, fileObjName: 'imgFile', //按钮显示的文字 //buttonText: '选择上传图片', debug: false, //使用图片做按钮 buttonImage: BtnFilePath, //显示的高度和宽度,默认 height 30;width 120 height: 30, width: 100, //上传文件的类型 默认为所有文件 'All Files' ; '*.*' //在浏览窗口底部的文件类型下拉菜单中显示的文本 fileTypeDesc: '上传类型', //允许上传的文件后缀 fileTypeExts: '*.gif; *.jpg; *.png', //发送给后台的其他参数通过formData指定 //'formData': { 'someKey': 'someValue', 'someOtherKey': 1 }, //上传文件页面中,你想要用来作为文件队列的元素的id, 默认为false 自动生成, 不带# //'queueID': 'fileQueue', //选择文件后自动上传 auto: false, removeTimeout: 2, //设置为true将允许多文件上传 multi: true, /// 选择文件后触发 onSelect: function(file) { $('#' + file.id).find('.fileName').html(''); $('#' + file.id).find('.data').html('文件:' + file.name + ',大小:' + GetUploadifySize(file.size)); }, /// 每个文件上传后更新一次进度信息 onUploadProgress: function(file, bytesUploaded, bytesTotal, totalBytesUploaded, totalBytesTotal) { $('#' + file.id).find('.fileName').html(''); $('#' + file.id).find('.data').html('文件:' + file.name + ',大小:' + GetUploadifySize(bytesTotal) + ',进度:' + GetUploadifySize(bytesUploaded)); }, /// 在每一个文件上传成功后触发 onUploadSuccess: function(file, data, response) { var dataFile = eval("(" + data + ")"); var StrTemp, MakePic; if (dataFile.error == 0) { $('#' + file.id).find('.data').html('文件:' + file.name + ',上传完毕'); // StrTemp = ''; if (dataFile.ThumbPic != '') { MakePic = dataFile.ThumbPic; } else { MakePic = dataFile.url; } StrTemp += '<li id="n' + dataFile.rnd + '">'; StrTemp += '<img src="' + MakePic + '" />'; StrTemp += '<p>'; StrTemp += '<input name="UpImagesUrl" type="hidden" value="' + dataFile.url + '" />'; StrTemp += '<input name="UpImagesTitle" type="text" /><br />'; StrTemp += '<a href="javascript:void(0);" onclick="RemoveImages(\'n' + dataFile.rnd + '\',\'../\',\'' + dataFile.url + '\');return false;">删除</a> '; StrTemp += '<a href="javascript:void(0);" onclick="InValue(\'ImageUrl\',\'' + dataFile.url + '\');return false;">设为封面</a>'; if (ObjEditor != '' && ObjEditor != null) { StrTemp += '<br /><a href="javascript:void(0);" class="J_insertToEditor" data-pic="' + MakePic + '">插入到编辑器</a>'; } StrTemp += '</p>'; StrTemp += '</li>'; $('#imageView').append(StrTemp); } else { $('#' + file.id).find('.data').html('文件上传:' + file.name + '上传失败,失败原因:' + dataFile.message); }; }, /// 上传文件成功后触发(每一个文件都触发一次) onUploadComplete: function(file) { $('.J_insertToEditor').click(function() { InEditorVal(ObjEditor, $(this).attr('data-pic'), 1); }); } }); } 我把: $('.J_insertToEditor').click(function() { InEditorVal(ObjEditor, $(this).attr('data-pic'), 1); }); 放在:onUploadSuccess、onUploadComplete都不行啊。。请老大帮忙看下。
忘记写调用方法了: var editor; $(function() { editor = LoadEditorMini('../', 'Content', 650, 350, 3, '', ''); var swfFile = '/Scripts/jquery/plugins/uploadify/uploadify.swf'; var btnFile = '/Scripts/jquery/plugins/uploadify/btn.gif'; doUpLoad(swfFile, btnFile, '../', 3, 'upAd', editor); });
|
作者: Roddy, 发布日期: 2012-11-05 13:14:42 |
明显是多绑定了事件,
$('.J_insertToEditor').click(function() { 改成 $('.J_insertToEditor').unbind('click').click(function() { 试试 |
回复 |
作者: 小浪子, 发布日期: 2012-11-05 13:25:22 |
回复Roddy:谢谢老大。可以了。。.咋回事啊。。
|
回复 |