回答フィールドが 12 でない場合にフォームの送信を拒否するスクリプトを Google スプレッドシートで作成しようとしています。
フォームにテキスト フィールドがあります: 名前とテキスト フィールド: ヒント "5 + 7 =" で答えてください
function myFunction(e) {
var answer = "";
try{
for(var field in e.namedValues) {
if (field == 'Answer') {
answer = e.namedValues[field].toString();
if ( Answer !== 12) { // check to make sure input is 12
throw "not the right answer"; // throw an exception with the error message
}
} //end if
}//end for
} catch(e) {
throw "try failed";
} //end try
}
このスクリプトを保存した後、myFunction | を実行するトリガーを作成しました。スプレッドシートから | フォーム送信時。これが整ったら、ライブフォームで試してみました。13 で、エントリは引き続きスプレッドシートに表示されます。
これが機能しない理由はありますか?