2009-12-02 52 views
4

好的,我不能發佈所有的代碼,因爲它只是沒有必要的。但這是問題。jquery uploadify

我有一個標籤對話框(ui.tabs),其中包含一個用於上傳文件的uploadify表單。但是,在較早的選項卡上,我檢查單選按鈕的狀態以確定是否僅允許圖像文件或Flash文件。

我已經初始化uploadify因此事前,內$(文件)。就緒:

$("#uploadify").uploadify({params}); 

...包括 'fileDesc' 和 'fileExt' 參數。本身,它工作正常。但是,一旦它被初始化,我想用改變設置:

$("#uploadify").uploadifySettings('fileDesc','blah blah'); 
$("#uploadify").uploadifySettings('fileExt','.ext'); 

...但是,當我這樣做,螢火蟲噴出如下:

的document.getElementById(一(本).attr( 「ID」)+ 「上傳」)。updateSettings不是一個函數 http://localhost/projectname/Javascript/jquery.uploadify.v2.1.0.min.js 線26

現在顯然是有什麼錯UPL自我磨合,但我可能在這裏是一個完整的麪條。這是否發生,因爲它認爲'#uploadify'尚未初始化?

回答

-1

嘗試

$("#uploadify").uploadifySettings({fileDesc: 'blah blah', fileExt: '.ext'}); 
+0

一個公平的迴應,但這是我第一次嘗試 - 當沒有工作時,我簡化它到上面提到的代碼。我仍然收到'updateSettings不是函數'的錯誤。 :\ – David 2009-12-02 13:09:52

0

您推測#uploadify尚未初始化。你把你的uplaodify代碼到

$(document).ready(function() { ... });

+0

還有一件事:放在服務器上的swf腳本是否可以訪問? 不確定,但似乎像uploadify dynamicaly嵌入他們在頁面中... – igorp1024 2009-12-02 14:01:10

+0

我做了,如上所述,它坐在本地主機上,我有訪問腳本(它的作品就好了它自己,我不能似乎改變了與uploadifySettings設置我只是不知道... 是的,它在document.ready。 – David 2009-12-02 14:34:35

+0

好吧,它並沒有真正回答這個問題,所以我仍然是一個迴應。但爲了讓它起作用,我只需單擊單選按鈕就可以重新初始化整個事情,只是爲了讓它起作用,而不是一個理想的解決方案,所以我仍然對實際的想法持開放態度它有正確的... – David 2009-12-02 14:55:43

1

我正在努力解決同樣的問題。

有人在Uploadify論壇上認爲這是一個與父元素具有樣式顯示的情況有關的錯誤:無。

http://www.uploadify.com/forum/viewtopic.php?f=7&t=2163

+0

這可能是非常好的問題...雖然我不會嘗試「修復」它,但它的工作,我已經爲鏈接添加書籤以備將來參考。:) – David 2009-12-07 13:41:48

+0

破碎的鏈接,請不要打破 互聯網 ;-) – 2012-05-28 16:48:02

3

你應該this thread見接受的答案。關鍵是要調用$("#uploadify").uploadifySettings();裏面的上傳開始處理程序,或者表單提交處理程序。

總體而言,js代碼應該是這樣的:

jQuery(function($){ 

    //make uploadify 
    $("#uploadify").uploadify({params}); 

    //handle form submit 
    $("#form").submit(function(e){ 
    //prefent form submit 
    e.preventDefault(); 

    //change the uploadify setting, ex. scriptData 
    $("#uploadify").uploadifySettings("scriptData", {'file_id': '345'}); 

    //start upload 
    $("#uploadify").uploadifyUpload(); 

    }); 
}); 

這對我工作的代碼,我希望它在你的情況下工作。表單提交可以由另一個函數替換,例如uploadify網站中的示例腳本中存在的函數startUpload。

0

我在使用jQuery對話框中的Uploadify的時候出現了這個錯誤。

解決方案是在創建對話框後初始化Uploadify。

0

IE可以緩存uploadify.swf文件,並且出於某種原因,這會導致某些用戶失敗。在Uploadify設置配置,修改「上傳」 URL包括在查詢字符串獨特的價值以防止緩存:

「上傳」:「/Content/uploadify.swf?nocache=」 +新的日期( ).getTime()

這解決了我的問題。