2014-09-03 38 views
0

如果我在一個頁面上有多個Google Drive文件選取器,如何處理回調以確保數據傳遞到正確的部分?如何使用多個Google文件選取器處理回撥

我基本上列出了許多項目,每個項目都有一個選擇文件按鈕鏈接到文件選取器。所有的例子只是將數據傳回到同一個地方,但我需要這個對於每個請求都是不同的。

我基本上都包含在該文檔的同一代碼:

https://developers.google.com/apps-script/guides/dialogs#file-open_dialogs

我怎樣才能做到這一點

multiple file pickers

回答

0

您可以更改回調函數?該選取器與該線一起使用:

.setCallback(pickerCallback) 

爲每個選取器使用不同的回調,或者甚至使用匿名函數。

+0

嘿埃裏克,那會是可能通過ID傳遞給.setCallBack?所有項目都是動態創建的,因此每個項目的單獨功能都不會起作用。會像.setCallBack(pickerCallback(itemId))的工作? – 2014-09-03 14:13:58

0

正如Eric所說的使用setCallback方法。

如果你想傳遞參數給回調可以使用匿名函數:

.setCallback(功能(數據){pickerCallback(數據, 「MYPICKERID」)})

+0

如果我通過一個匿名函數,我得到錯誤「未定義不是一個函數」這是當picker.setCallback(函數(返回){pickerCallback(return,formId)})我得到一個錯誤。如果我只有picker.setCallback(pickerCallback)選取工作。 – 2014-09-04 09:19:55

+0

嘿,我的壞我改變了我的變量「ret」爲「返回」,使其更易於閱讀。 「返回」是一個保留字。改變返回到別的東西,並確保你的回調函數匹配呼叫,即 函數pickerCallback(data,pickerID){do stuff ...} – 2014-09-04 12:46:53