我正在使用Google App脚本。
我已经从Google表格中的值创建了下拉框。我的目的是收集一个数组中的selectedIndex(es),将它们作为参数发送到后端,并让它们基于参数从同一个Google表格中输出值。
我能够成功地将下拉框的选定索引数组从html表单传递到后端(code.gs),但是当我尝试使用getRange获取Google表格中单元格的值时和selectedindexs,我总是会遇到这些错误:
console.log-在calculateCL上未被捕获(代码:22)
Logger.log-能够记录单元格的值,但是当我“返回PTvalue”时,前端将其记录为未定义。
请帮助!
page.html
//gets selected index from dropdown
var CountryIndex = document.getElementById("menu").selectedIndex;
var CUTypeIndex = document.getElementById("ListCUTyp").selectedIndex;
//pushes indices into array
formArray = [];
formArray.push(CountryIndex);
formArray.push(CUTypeIndex);
//array sent to back end within function calculateCL
//on success of calculateCL, run function CLOutput
google.script.run.withSuccessHandler(CLOutput()).calculateCL(formArray)
//outputs value from GS
function CLOutput(PTvalue){
console.log(PTvalue);
document.getElementById("ListPT").value = PTvalue;
}
code.gs
//gets value of cell based on selected index array
function calculateCL(formArray) {
var PTvalue = sheet.getRange(2+formArray[0], 2+formArray[1]).getValue();
Logger.log(PTvalue);
return PTvalue;
}
答案 0 :(得分:0)
您的calculateCL
有参数,但似乎您使用的是内部没有参数的
google.script.run.withSuccessHandler(CLOutput()).`calculateCL()`
看看您的功能:
function calculateCL(formArray)
答案 1 :(得分:0)
这是不正确的:
google.script.run
.withSuccessHandler(CLOutput())
.calculateCL(formArray);
这是正确的格式:
google.script.run
.withSuccessHandler(CLOutput)
.calculateCL(formArray)
function CLOutput(PTvalue){
console.log(PTvalue);
document.getElementById("ListPT").value = PTvalue;
}
这也是正确的
google.script.run
.withSuccessHandler(function(PTValue){
console.log(PTvalue);
document.getElementById("ListPT").value = PTvalue;
})
.calculateCL(formArray)