2012-01-31 183 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

回答