Javascript Google表单:将项目添加到响应
在用户提交项目后,我是否可以通过编程方式将其添加到表单响应中?在本例中,我希望添加editResponseURL,以便在电子表格中记录它以及其他数据Javascript Google表单:将项目添加到响应,javascript,google-apps-script,google-forms,Javascript,Google Apps Script,Google Forms,在用户提交项目后,我是否可以通过编程方式将其添加到表单响应中?在本例中,我希望添加editResponseURL,以便在电子表格中记录它以及其他数据 function onSubmit(event){ var formResponse = event.response; var responseURL = formResponse.getEditResponseUrl(); var itemResponses = formResponse.getItemResponse
function onSubmit(event){
var formResponse = event.response;
var responseURL = formResponse.getEditResponseUrl();
var itemResponses = formResponse.getItemResponses();
//Does something like this next line exist?
itemResponses.add("Response URL", responseURL);
}
您可以假定当前表单提交事件是目标工作表中的最后一行。因此,获取工作表中的最后一行,获取要更新的单元格范围,然后使用setValue方法
谢谢桑迪。这会添加到本地数组中,但不幸的是,更改不会被带入电子表格响应中。这种变化似乎也只是局部的。例如,如果我再次调用formResponse.getItemResponses,数组将保持不变。这就是我在电子表格中与其他数据一起使用的意思。对不起,没有更清楚。
function onSubmit(){
//To do - Get the edit url
var theLastResponse = code here;
var theEditUrl = theLastResponse code for edit URL
//Get current spreadsheet
var ss = SpreadsheetApp.getActive();
var responsesSheet = ss.getSheetByName('yourSheetNameHere');
var theLastRow = responsesSheet.getLastRow();
var columnToAddUrlTo = 9; //Hard code the column if you want
var cellRangeToSet = responsesSheet.getRange(theLastRow, columnToAddUrlTo).setValue(theEditUrl);
}