【转】uploadify对象不支持此属性或方法

http://blog.sina.com.cn/s/blog_6829be5c01015bae.html 

—————————————————————————————————————————————————

“对象不支持此属性或方法”错误,具体出错在“document.getElementByIdx_x_x_x_x_x(jQuery(this).attr('id') + 'Uploader').startFileUpload(ID, checkComplete);”,网上查了很多帖子都没有解决。

想了半天,应该是js调用flash方法时调用失败,查了相关帮助,js调用flash必须在window.onload之后调用。此时豁然开朗!

之间我在$(function(){...});中初始化,$相当于document.onready(),此时flash还没有被加载进来,而在window.onload页面完全加载完毕,dom对象生成后再初始化上传内容。
到此问题解决!

 
window.onload=function(){   
    $("#d2_Document").uploadify({   
        'uploader'       : '<%=ResolveClientUrl("~/Scripts/UploadFile/uploadify.swf") %>',   
        'script'         : 'Uploadify.ashx?action=upload',   
        'cancelImg'      : '../../Scripts/UploadFile/cancel.png',   
        'folder'         : '../../uploads',   
        'fileExt'                : fileExt,   
        'fileDesc'           : '不支持的文件类型',   
        'sizeLimit'      : 1024*1024*10,    //10M   
        //'buttonText'     : 'Select Files',   
        'multi'          : false,   
        onComplete           : function(event, ID, fileObj, response, data){   
            //将服务器的url通过wcf保存到数据库   
            var responseData=jQuery.parseJSON(response)   
            if(responseData.result){   
                var file=fileObj.name;   
                var size=fileObj.size;   
                var url=responseData.file;   
                addDocument(file,url,size);   
            }   
        }   
    });   
}  
__________________________________________________________________________________________________
如果把上传方法封装了,在页面写一个:
var isimport = true;
function importfinance(addTitle, addId) {
if(isimport){
importreport('uploadify1', 'import', 'financeImport', 'fileQueue1',
'bodymask');
isimport = false;
}
}
就可以解决了~~

 

posted @ 2014-03-20 18:51  FH1004322  阅读(1666)  评论(0编辑  收藏  举报