2015-02-06 87 views
0
.on('complete', function(id, name, response) { 
    console.log(id); 
    console.log(response); 
    console.log(name); 
    $("input").attr({ 
     type: 'hidden', 
     name: id 
    }).val(name).appendTo('form'); 
}) 
.on('deleteComplete', function(id, xhr, isError) { 
    console.log(name); 
    $('input[name=' + id + ']').remove(); 
}); 

我使用的是最新的FineUploader上傳圖片,並添加圖像文件名作爲隱藏字段(正確的方法)來post他們的位置到PHP做進一步處理。FineUploader onDelete和的onComplete

問題是id是兩個回調之間的共同點,但它返回一個對象,我確定如何處理它。我只需要將文件名位置存儲/發佈到PHP。

回答

1

回調參數不正確。如果您使用Fine Uploader的jQuery插件包裝器,則每個事件處理器的初始參數始終爲Event。也就是說,與正在處理的事件關聯的jQuery事件對象。

只是要清楚,你的代碼應該是這樣的:

.on('complete', function(event, id, name, response) { 
    ... 
}) 
.on('deleteComplete', function(event, id, xhr, isError) { 
    ... 
}); 

這是很多原因,我已經建議用戶避免使用一個jQuery插件包裝。它使得Fine Uploader回調更容易混淆,並且絕對沒有任何好處。鑑於此,如果由於某種原因仍然想使用jQuery插件包裝器,則應該考慮將回調處理程序聲明爲在構建精細上傳器實例時作爲初始配置選項一部分傳遞的callback選項的一部分。

+0

謝謝,這有幫助。現在我只需要計算如何刪除在'onComplete'中創建的'ondeleteComplete'中的隱藏字段 – 3zzy 2015-02-06 16:30:28

+0

爲什麼要創建隱藏字段並再次提交表單? Fine Uploader發送上傳POST請求中每個文件的文件名。 – 2015-02-06 16:31:01

+0

哦?但我看不到任何'echo'

'.print_r($_POST,1).'
';' – 3zzy 2015-02-06 16:37:49