Javascript 在表单提交时触发GAS但ss.getLastRow();不';Don’别给我最新的条目

Javascript 在表单提交时触发GAS但ss.getLastRow();不';Don’别给我最新的条目,javascript,google-apps-script,google-forms,Javascript,Google Apps Script,Google Forms,我有一个谷歌表格,你可以在a或B之间选择进入表格的a部分或B部分 我的代码如下所示: const startttrigger=()=>{ ScriptApp.newTrigger(“主”) .forForm(表格ID) .onFormSubmit() .create(); } 常量main=()=>{ //提取最新提交 var responses=SpreadsheetApp.openById(FORM_RESPONSE_ID).getSheets()[0]; var lastRow=resp

我有一个谷歌表格,你可以在a或B之间选择进入表格的a部分或B部分

我的代码如下所示:

const startttrigger=()=>{
ScriptApp.newTrigger(“主”)
.forForm(表格ID)
.onFormSubmit()
.create();
}
常量main=()=>{
//提取最新提交
var responses=SpreadsheetApp.openById(FORM_RESPONSE_ID).getSheets()[0];
var lastRow=responses.getLastRow();
var data=responses.getRange(lastRow,1,1,24).getValues();
//A或B的选择
var CHOICE_TYPE=数据[0][2];
Logger.log(选择_类型);
Logger.log(lastRow);
如果(选项类型==“A”){
//<代码块>
}
else if(选项类型==“B”){
//<代码块>
}

}
关于
但是,当您选择“A”时,它会提取最后一个条目而不是新提交的条目,并使用最后一个数据运行代码。当您选择“B”时,它工作正常!它接受新条目并正常运行代码。
,不幸的是,我无法复制您的情况。我为此道歉。那么,我可以问一下复制问题的详细流程吗?通过这一点,我想确认一下。顺便问一下,我可以问一下您不使用事件对象的原因吗?因为我认为当使用事件对象时,也可以检索提交的值。这是所有重要的信息。这就是为什么它很奇怪,因为我希望它能工作,但事实并非如此。然后,在不做任何事情并再次运行之后,它工作得很好。我不确定这是不是毒气。我目前使用SpreadsheetApp.flush()来确保在运行脚本之前更新了工作表数据,目前为止一切正常。如果它现在仍然中断,我会假设它是GSheets或GASThank上某个地方的一个bug,谢谢你的回复。非常抱歉,我的评论对您的情况没有帮助。当您选择“A”时,
是什么意思?它提取最后一个条目而不是新提交的条目,并使用最后一个数据运行代码。
?最后一个条目是什么?如果您指的是最后一行,那么它将始终是由
var lastRow=responses.getLastRow()定义的最后一行哦,假设当前有N行,新表单提交应该是N+1行。当我选择“A”时,lastRow会给我N(而不是N+1),而“B”时,lastRow会给我N+1,没有问题。