无法将值从Google Script文件传输到HTML文件



我有一个函数,它返回第三行中的值

function sheetData(id_test, id_group, nr_test) {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName('Teste');
const range = sheet.getDataRange();
const res = range.getValues();
const data = res.slice(1);
let value;
data.forEach((row) => {
if (id_test == row[0] && id_group == row[1] && nr_test == row[2]) {
value = row[3];
}
})
return value;
}

但是当我调用它来使用HTML中的返回值时,如下所示:

<? let value = sheetData(); ?>
<p class="cont"> <?= value ?> </p>

我一无所获。可能是我已经这样调用了这个函数吗?:

send_button.addEventListener('click', () => {
let id_test = document.querySelector('.id-test').value;
let id_group = document.querySelector('.id-group').value;
let nr_test = document.querySelector('.nr-test').value;
google.script.run.sheetData(id_test, id_group, nr_test);
});

因为没有传递任何参数,所以什么都得不到,所以它们变成了undefined。要解决此问题,请添加默认参数,即<? let value = sheetData('value 1','value 2','value 3'); ?>sheetData(id_test = 'value 1', id_group = 'value 2', nr_test = 'value 3')

相关

  • 为JavaScript函数设置默认参数值

试试这样的东西:

send_button.addEventListener('click', () => {
let id_test = document.querySelector('.id-test').value;
let id_group = document.querySelector('.id-group').value;
let nr_test = document.querySelector('.nr-test').value;
google.script.run
.withSuccessHandler(function(v){
document.getElementById("id").value = v;
})
.sheetData(id_test, id_group, nr_test);
});

最新更新