2012-01-31 148 views
0

我不能似乎得到Uploadify(2.1.4)合作,在谷歌Chrome检查控制台显示初始化过程中没有错误,但是,单击选择文件按钮,结果没有发生,按下上传按钮结果在:Uploadify未知错误

Uncaught TypeError: Object #<HTMLObjectElement> has no method 'startFileUpload' 

我不知道在哪里看,奇怪的是这只能说明当任何按钮或函数被调用)错误,但是.uploadify(;工作正常。

我使用: - JQuery的1.7.1 - Twitter的引导(在这种情况下,托普西&模式javascript文件)

这是代码:

<script type="text/javascript"> 
$(function(){ 
    $("#uploadPopup").modal({ 
     backdrop: "static", 
     keyboard: false 
    }); 

    var uploadBox = '<div id="status-message">Select some files to upload:</div>\ 
        <div id="fileQueue"></div>\ 
        <input id="fileUploadSelector" type="file" name="Filedata" />'; 
    var uploadInProgress = false; 

    $("#uploadphoto").click(function(){ 
     $("#uploadPopup h3").html("Video Uploader"); 
     $("#uploadPopup .modal-body").html(uploadBox); 

     $('#fileUploadSelector').uploadify({ 
      'uploader': 'static/flash/uploadify/uploadify.swf', 
      'script': 'www.example.com/script.php', 
      'cancelImg': 'static/images/uploadify/cancel.png', 
      'multi': true, 
      'auto': false, 
      'fileExt': '*.jpg;*.gif;*.png;*.bmp', 
      'fileDesc': 'Image Files (.JPG, .GIF, .PNG, .BMP)', 
      'queueID': 'fileQueue', 
      'queueSizeLimit': 100, 
      'simUploadLimit': 2, 
      'removeCompleted': true, 
      'buttonText': 'Select Files', 
      'onSelectOnce': function (event, data) { 
       $('#status-message').text(data.filesSelected + ' files have been added to the queue.'); 
      }, 
      'onAllComplete': function (event, data) { 
       $('#status-message').text(data.filesUploaded + ' files uploaded, ' + data.errors + ' errors.'); 
       uploadInProgress = false; 
       $("#uploadMedia").button('reset'); 
      }, 
      'onClearQueue': function (event, data) { 
       $('#status-message').text('Upload Cancelled'); 
       uploadInProgress = false; 
       $("#uploadMedia").button('reset'); 
      } 
     }); 

     $("#uploadPopup").modal({ 
      backdrop: "static", 
      keyboard: false 
     }); 
    }); 

    $("#uploadMedia").live('click', function(){ 
     $("#fileUploadSelector").uploadifyUpload(); 
     uploadInProgress = true; 
    }); 

    $("#cancelUpload").live('click', function(){ 
     var answer = confirm("Are you sure you want to cancel the upload?"); 
      if(answer) { 
       $("#fileUploadSelector").uploadifyClearQueue(); 
       $('#uploadPopup').modal('hide'); 
       return true; 
      } else { 
       return false; 
      } 
    }); 
}); 
</script> 

和HTML部分:

<div class="btn success" id="uploadphoto">Upload Photo</div> 

<div id="uploadPopup" class="modal hide"> 
    <div class="modal-header"> 
     <h3>Photo viewer</h3> 
    </div> 
    <div class="modal-body"> 
    </div> 
    <div class="modal-footer"> 
     <a href="#" class="btn primary" id="uploadMedia" data-toggle="Uploading..">Upload</a> 
     <a href="#" class="btn secondary" id="cancelUpload">Cancel</a> 
    </div> 
</div> 

说明: - 甲用户按下#uploadphoto按钮和一个模式一ppears(在此步骤中,uploadify也会初始化) - 模式包含一个按钮(#uploadMedia),当按下该按钮时,开始上传。 - 按取消按钮(#取消上传)取消上传并关闭模式

请注意,这仍然是一些原型编码,清理仍然必须发生。

感谢您提前提供任何帮助。

+0

你基本上得到的错误说,你正在使用一个无效的对象调用.uploadifyUpload()。我不确定这是为什么,但我的猜测是从$(“#uplaodMedia”)。live()函数中的$(“#fileUploadSelector”)返回的对象不是正确的对象。我认为如果你想将自动设置为true,上传可以正常工作,但不管什么原因,你对fileUploadSelector的引用是不正确的。你可以发布你的代码的其余部分,以便我可以更好地了解它吗? – 2012-02-01 16:14:35

+0

事实上,它不会让我选择我想上传的文件,当我按下uploadify按钮(它被转换成swf成功),这是当前的主要问题,因为我认为其他一切都有点相关它。另外,除了这段JavaScript之外,还没有其他的东西,一些html,但我不认为这会帮助不幸。 – xorinzor 2012-02-01 22:49:26

+0

将自动设置为true,看看它是否让你选择文件 – 2012-02-01 22:52:08

回答