2013-04-11 230 views
0

我試圖在Google電子表格中創建一個腳本來拒絕表單提交,如果答案字段爲而不是 = 12。這是希望屏幕非人類提交和減少垃圾郵件提交通過Google表單。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的|從電子表格|在表單提交。 一旦到位,我在現場表單上試了一下,Bob | 13條目仍然出現在電子表格中。

任何建議爲什麼這不起作用?

+0

「答案」和「答案」是不同的變量名稱...... JavaScript區分大小寫。另外,'throw'嘗試失敗「; catch塊中的''應該讀爲'throw e;'這樣,你不僅僅在第一個錯誤上拋出另一個錯誤。 – HardScale 2013-04-12 16:30:36

回答

0

目前無法拒絕或修改提交給電子表格附帶的標準表單。提交後您需要過濾掉不需要的數據。

修改提交的唯一方法是通過UiApp或HtmlService創建一個表單,然後運行您的JavaScript。

相關問題