再來就可以進入另一個題型大宗---填充題
填充題可以對應到表單中的「簡答」
如果回答方式中不包含特殊符號或格式,如:上下標、數學式、化學式
就可以考慮使用填充題方式出題
如果有如上的題目可能就要考慮以選填題方式出題
如果還不行那好像也沒辦法了~XD
一樣直接上碼,詳細內容可以閱讀文檔
function textItemFuction(formID){
// 這段是建立填充題的例子
var form = FormApp.openById(formID);
var txt = form.addTextItem();
txt.setTitle('簡答可以讓作答者回覆一行文字')
.setHelpText('可將此種題型視為填充題。')
.setRequired(false); //是否為必答,是為true;否為false
}
如果你想要規定回應內容
可以加上如下的部分並依所需更換
var textValidation = FormApp.createTextValidation()
.setHelpText('僅能輸入1 ~ 100的數字')
.requireNumberBetween(1, 100)
.build();
txt.setValidation(textValidation);
填充題的回答限制更多了
可以限定回答數字、回答內容的形式
我個人常用的有:requireNumberEqualTo(number)
可以設定為選課密碼,答對才能繼續答題requireTextContainsPattern(pattern)
可以規定回答內容,pattern 可以是一個正則表達式requireTextLengthGreaterThanOrEqualTo(number)
規定至少回答的字數requireTextLengthLessThanOrEqualTo(number)
規定最多回答的字數requireWholeNumber()
規定僅能回答整數(如 : 2, -3)
從文檔中也可以看到
TextItem 沒有.setPoints()
及.setAnswer()
的方法
也就是說TextItem 不能設定答案與配分
呼應之前所說設定為測驗的意義不大
因為到最後自己還是要再寫一個算分的方法
索性直接設為.setIsQuiz(false)