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),當按下該按鈕時,開始上傳。 - 按取消按鈕(#取消上傳)取消上傳並關閉模式
請注意,這仍然是一些原型編碼,清理仍然必須發生。
感謝您提前提供任何幫助。
你基本上得到的錯誤說,你正在使用一個無效的對象調用.uploadifyUpload()。我不確定這是爲什麼,但我的猜測是從$(「#uplaodMedia」)。live()函數中的$(「#fileUploadSelector」)返回的對象不是正確的對象。我認爲如果你想將自動設置爲true,上傳可以正常工作,但不管什麼原因,你對fileUploadSelector的引用是不正確的。你可以發佈你的代碼的其餘部分,以便我可以更好地瞭解它嗎? – 2012-02-01 16:14:35
事實上,它不會讓我選擇我想上傳的文件,當我按下uploadify按鈕(它被轉換成swf成功),這是當前的主要問題,因爲我認爲其他一切都有點相關它。另外,除了這段JavaScript之外,還沒有其他的東西,一些html,但我不認爲這會幫助不幸。 – xorinzor 2012-02-01 22:49:26
將自動設置爲true,看看它是否讓你選擇文件 – 2012-02-01 22:52:08