2012-05-13 222 views
0

我正在使用uploadify jQuery插件進行文件上傳。我想有一個自定義函數來處理進入上傳隊列的文件。我在我的代碼中完成了這項工作:覆蓋Uploadify方法

$(document).ready(function() { 
    $('#file-select').uploadify({ 
     'swf'  : '/bitstore/public/swf/uploadify.swf', 
     'uploader' : 'uploadify.php', 
     'queueID' : 'file-queue', 
     'onSelect' : function(file) { 
      alert("file added"); 
      return false; 
     } 
    }); 
}); 

但Uploadify仍將HTML注入到DOM中以表示隊列中的文件。我想讓我的自定義函數自己做。有沒有辦法阻止Uploadify這樣做?我認爲添加return false;的方法會這樣做,但它不工作。

謝謝。

+0

請參閱http://www.uploadify.com/documentation/uploadify/onselect/ - 它表示Overridable:N/A。似乎你可能運氣不好,除非你想弄亂源頭。 –

+0

我使用了舊版本的Uploadify,它讓我重寫方法就像我一樣返回false。我只是假定新版本的文檔並不完全更新。無論哪種方式,我不知道他們爲什麼刪除該功能:/ –

+0

您可以嘗試隱藏任何元素Uploadify顯示文件名。或者破解源代碼。 –

回答

0

看來最新版本的Uploadify禁用了覆蓋onSelect方法(請參閱onSelect - Uploadify)。然後,您的選項將隱藏Uploadify顯示文件名的元素,您可以訪問源代碼(當然,請使用未縮小的版本),然後查看可以更改的內容。作爲最後的手段,您可以嘗試使用舊版本的Uploadify。不幸的是,我似乎無法找到任何鏈接。

0

你有tryied添加以下(Didn't測試):

'onSelect': function(e, q, f) { 
     var validExtensions = new Array('doc','docx','pdf');    
     var fileName = f.name; 
     var fileNameExt = fileName.substr(fileName.lastIndexOf('.') + 1); 
     if (jquery.inArray(fileNameExt, validExtensions) == -1){ 
      $(\"#uploadify\").uploadifyCancel(q); 
      //$(\"#uploadify\" + q + \" .percentage\").text(\" - Invalid file type\"); 
      //$(\"#uploadify\" + q).addClass('uploadifyError');    
      return false; 
     }