我正在研究Google表格查询,该表格收集参与者对某个问题的投票。我想根据ID号限制参与者。我在想三种方法:
如果输入的ID不在给定列表中,则阻止提交表单。 (我更喜欢这种方法,但到目前为止找不到任何有用的代码)
删除链接的响应电子表格中的行。这是我的无效代码:
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();
Browser.msgBox('Successful read');
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');
}
}
通过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编码中是一个全新的人,所以可以得到任何帮助。
我正在研究Google表格查询,该表格收集参与者对某个问题的投票。我想根据ID号限制参与者。我在想三种方法:防止形式...
如果您希望将所有ID保留在电子表格中,请在代码开头尝试此操作。
感谢ziganotschka的回答,我将代码更新为: