流程基本如下:
-
作用
addTaskToDb()
将HTML表单数据写入电子表格(例如任务3);
-
google.script.run.withSuccessHandler(_ => loadClientTasks(selectedClient)).newTask(task);
将更新的任务加载到活动HTML页面(例如任务:1、2和
3.
);
-
google.script.run.updateFilesWithTask('new', selectedAgency, selectedClient, task);
应该将最后一个任务添加到电子表格中,并将其复制到其他文件中(应该选择任务3,但它得到的是任务2)。它是从那里得到的,因为有编号被应用到那个任务中。
function addTaskToDb() {
var formElements = document.getElementById("form").elements;
var postData = [];
for (var i = 0; i < formElements.length; i++) {//Converts checkboxes' status to sheets
if (formElements[i].type != "submit" && formElements[i].type != 'checkbox') {
postData.push(formElements[i].value);
} else if (formElements[i].type == 'checkbox' && formElements[i].checked == true) {
postData.push(formElements[i].checked);
} else if (formElements[i].type == 'checkbox' && !formElements[i].checked) {
postData.push('false');
}
}
let timeStamp = new Date();
timeStamp = timeStamp.toString();
const agencyPartner = document.getElementById('agencySelect');
const selectedAgency = agencyPartner.options[agencyPartner.selectedIndex].text;
const client = document.getElementById('clientSelect');
const selectedClient = client.options[client.selectedIndex].text;
let dateAssigned = postData[1].toString();
const item = postData[0];
const link = postData[2];
const notes = postData[3];
const requestApproval = postData[4];
let task = [];
task.push(timeStamp, selectedAgency, selectedClient, '', '', dateAssigned, item, link, notes, '', requestApproval, '', '', '')
google.script.run.withSuccessHandler(_ => loadClientTasks(selectedClient)).newTask(task);
google.script.run.updateFilesWithTask('new', selectedAgency, selectedClient, task);
document.getElementById("form").reset();
}
我试过使用
Utilities.sleep(3000);
在内部
updateFilesWithTask()
,但没用。
非常感谢。