gpt4 book ai didi

javascript - 如何将 onFormSubmit(e) 和 onEdit(e) 嵌套在一起

转载 作者:行者123 更新时间:2023-12-01 00:39:50 28 4
gpt4 key购买 nike

我希望 onFormSubmit(e) 成为我的主要函数触发器,并希望 onEdit(e) 嵌套在其中。基本上,无论如何,触发器都会运行 onFormSubmit,但如果有任何编辑,它会在 onEdit 中执行其他操作,如果没有,它将执行其他操作。

我无法理解并使其发挥作用。

我的脚本触发器将 onFormSubmit 显示为唯一的函数,而 onEdit 不在下拉列表中。

function onFormSubmit(e){
ScriptApp.newTrigger("onEdit").timeBased().after(60000).create();
function onEdit(e){
var ss = SpreadsheetApp.getActiveSpreadsheet().getRange('SpeedVSD');
var sheet = ss.getSheetByName("Responses 1");
var row = ss.range.getRow();
var col = ss.range.getColumn();

if (col >= ss.getColumn() && col <= ss.getLastColumn() && row >= ss.getRow() && row <= ss.getLastRow()){
console.log("You edited a Cell within Range");

}

}

编辑:设法获得我的lastRow值。但是,我仍然希望获得一个可以获取所有列的lastRow 值的命令,而不是手动执行此操作。

编辑:使用 FOR 循环有助于整理值。

//This is to get the Last Row on Column 2 value.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheetByName('FIRST');

var row = sheets.getLastRow();
for(var i = 1; i <= sheets.getLastColumn(); i++){
var myID = sheets.getRange(row, i).getValue();
}

console.log("Row Number: "+row);
console.log("Content of last Row: "+myID);```


最佳答案

如果您希望 onEdit() 始终运行,只需将其创建为单独的函数即可。然后您可以从 onFormSubmit() 调用它,如下所示:

function onFormSubmit(e){
//does something you need...
onEdit();
}
onEdit(e){
//do the onEdit code...
}

唯一的问题是 onFormSubmit() 的事件 eonEdit() 的事件不同,因此工作与事件可能不是最好的主意。然而,从一个函数调用另一个函数会很有趣,就像调用任何其他函数一样。

关于javascript - 如何将 onFormSubmit(e) 和 onEdit(e) 嵌套在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57801695/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com