我正在处理一个查询谷歌表单,它收集参与者对某个问题的投票。我想根据 ID 号限制参与者。我在考虑三种方法:
如果输入的 ID 不在给定列表中,则阻止提交表单。(我更喜欢这种方法,但到目前为止找不到任何有用的代码)
使用Google 表单上的 GAS通过 onFormSubmit 触发器提交表单后,删除链接响应电子表格中的行。这是我的代码不起作用:
function onFormSubmit(e) {
// Grab the session data again so that we can match it to the user's choices.
var response = [];
var values = SpreadsheetApp.openById('1rT9tKAi6ZSvZzBaXNSPMJAt4RKnW-
9lqiE9zvZV').getDataRange().getValues();
for (var i = 1; i < values.length; i++) {
var indiv = values[I];
var Fname = indiv[0];
var Lname = indiv[1];
var ID1 = indiv[2];
var ID2 = indiv[3];
// For every selection in the response, find the matching ID1 and title
// in the spreadsheet and add the session data to the response array.
if (e.namedValues[ID1] == ID1) {
response.push(indiv);
} else {
Browser.msgBox('Your ID number does not matches the list');
}
}
使用Google 表格上的 GAS通过 onChange 触发器提交表单后,删除链接响应电子表格中的行。这是我的最大努力:
function onChange(e) {
var refvalues =
SpreadsheetApp.getActive().getSheetByName('members_sheet').getDataRange().getValues();
var sheet = SpreadsheetApp.getActive().getSheetByName('Form Responses 1');
var values = sheet.getDataRange().getValues();
var indiv = values[values.length];
var ID1 = indiv[2];
var flag = 0;
for (var i = 1; i < refvalues.length; i++) {
var refindiv = refvalues[i];
var refID1 = refindiv[2];
if (ID1 == refID1) {
flag = 1;
}
}
if (flag == 0) {
sheet.deleteRow(values.length);
}
};
我是 Javascript 编码的新手,所以任何帮助都将不胜感激。
Helenr
饮歌长啸
相关分类