初めて活用させていただきます
Googleフォームで回答数により選択肢から削除させたいのですが、チェックボックスを用いて二つ選択をし、送信後に人数に達しても、LIMIT_COUNTが反応せず受付が終了しません。
一つずつ選択をすると、選択肢から削除されるのですが、二つチェックをして送信すると反応しません。
二つチェックをし、カウントが実行されるやり方を教えてください。
該当のソースコード 入力したもの
function endFormCheck() { var LIMIT_COUNT = 5; var ANSWER_LENGTH = 2; var answerCount = [0,0]; var itemID = 0; var form = FormApp.getActiveForm(); var formResponses = form.getResponses(); for (var i = 0; i < formResponses.length; i++) { var formResponse = formResponses[i]; var itemResponses = formResponse.getItemResponses(); for (var j = 0; j < itemResponses.length; j++) { var itemResponse = itemResponses[j]; var question = itemResponse.getItem().getTitle(); var answer = itemResponse.getResponse(); if(question == 'Tシャツサイズ'){ if(answer == 'Sサイズ'){ answerCount[0]++; } else if( answer == 'Mサイズ'){ answerCount[1]++; } } } } var answerCheck = 0; var choiceArray = []; var arrayCount = 0; for(var i = 0; i < ANSWER_LENGTH; i++){ if(answerCount[i] == LIMIT_COUNT){ answerCheck++; } else{ if ( i == 0 ){ choiceArray[arrayCount] = 'Sサイズ'; arrayCount++; } else if( i== 1 ){choiceArray[arrayCount] = 'Mサイズ'; arrayCount++;} } } if(answerCheck == ANSWER_LENGTH){ form.setAcceptingResponses(false); } if( (answerCheck != ANSWER_LENGTH) && (answerCheck >= 1)){ var items = form.getItems(); for (var i= 0; i< items.length; i++ ){ var item = items[i]; if( item.getTitle() == 'Tシャツサイズ' ){ var choice = item.asCheckboxItem().getChoices(); item.asCheckboxItem().setChoiceValues(choiceArray); } } } }
あなたの回答
tips
プレビュー