2016-11-30 94 views
1

我正在嘗試創建一個Google Forms民意調查,其中的選項是用戶生成的(就像老Facebook問卷調查一樣,在他們被帶走之前)。因此,用戶可以投票選擇已經列出的選項之一,或添加「其他」選項,然後顯示給其他用戶投票。允許用戶將其他選項添加到Google表格

我使用的是基於一個這樣的代碼,我在谷歌的討論小組發現:

function addOption(e) { 
    try { 
    var form = FormApp.getActiveForm(); 
    var formResponse = e.response; 
    var itemResponses = formResponse.getItemResponses(); 

    for (var j = 0; j < itemResponses.length; j++) { 
     var itemResponse = itemResponses[j]; 
     var id = itemResponse.getItem().getId(); 
     var item = form.getItemById(id).asMultipleChoiceItem(); 
     var choices = item.getChoices(); 
     choices.push(item.createChoice(itemResponse.getResponse())); 
     item.setChoices(choices); 
    } 
    } catch (err) { Logger.log(err); } 
} 

它增加了用戶生成的選項列表,如預期,但現在如果你的一票現有的選項,它增加了您投票選項的副本。

In this example

在這個例子中,第一次,我投在這兩個問題,並添加選項Test 1.1Test 2.1Other。第二次,我在第一個問題中投了Option 1,在第二個問題中投了Test 2.1

我不知道如何檢查選項是否已存在,並將投票添加到已存在的選項。有任何想法嗎?

回答

0

你所得到的物品ID:

var id = itemResponse.getItem().getId(); 
var item = form.getItemById(id).asMultipleChoiceItem(); 

你應該某處記錄項目ID,作爲該項目的ID,你要添加到永遠的格式轉換的選擇,除非你刪除的問題,並回來了另一個問題。您可以將ID硬編碼爲常量,也可以使用PropertiesService將ID存儲在文檔屬性中。

相關問題