2014-01-31 100 views
0

試圖在提交事件處理程序中調用$(this).fineUploader("getButton", id);,並因此獲取undefinedgetButton方法返回undefined

我假定正在跟蹤按鈕,因爲在驗證和上傳事件中可以訪問按鈕。但是,我真的很想知道在提交事件期間哪個按鈕被點擊了,所以我可以爲特定的文件上傳設置參數。 Validate事件已經不存在的文件ID特定的參數

關聯在迴應評論,附加信息:

Fineuploader版本4.1.1

我已經嘗試了多種配置和getButton方法場景呼叫在提交處理程序中不起作用

myfineuploader.on('submit', function(event, id, name) { 
    var button = $(this).fineUploader('getButton', id); 
    console.log(button); // Button always shows undefined here 
} 

按鈕被定義爲跨越模板的跨度,在config中這樣設置:

button: $("#button1"), 
extraButtons: [ 
    { 
     element: $("#button2") 
    } 
] 
+0

請告訴我們您正在使用哪個版本的優秀上傳器,並且包含您的所有客戶端優良上傳器相關代碼。瞭解您的電話環境以便最好地協助您非常重要。 –

回答

0

該按鈕在提交事件回調完成之後才與該文件相關聯。這樣做是爲了確保僅爲通過所有可能的驗證步驟的文件創建映射,因爲也可以在「提交」處理程序中拒絕文件。經過一番思考,一旦我們在內部爲這個文件創建了一個ID,最好創建這個按鈕來文件映射。我創建了一個item in our issue tracker來解決這個問題。

如果您將自己的邏輯轉換爲"submitted" event handler,那麼您應該很好。

+0

我無法將自己的邏輯移動到「提交的」事件處理程序中,因爲在保持上傳程序不被提交的過程中太晚了!知道按下哪個按鈕的全部目的是讓我可以對上傳的有效性做出上下文決定。 – ezwrighter

+0

你想做什麼樣的決定,具體是? –