Google Sheet侧边栏表单SubmitRecord()函数无响应问题求助
Google Apps Script侧边栏表单Submit无响应问题排查与修复
你的SubmitRecord函数点击后无响应,核心原因是JavaScript变量赋值错误导致参数传递异常,触发后端校验失败,同时存在未定义变量的报错。以下是具体问题和修复方案:
核心问题
1. 变量覆盖与未定义错误
在SubmitRecord()函数中,你重复给kode_unitcipta赋值,且未定义uraian变量:
var kode_unitcipta = document.getElementById("kode_unitcipta").value; var kode_unitcipta = document.getElementById("uraian").value; // 覆盖kode_unitcipta,且未定义uraian变量
这会导致:
kode_unitcipta被错误替换成uraian输入框的值- 后续传给
AddRecord的uraian参数处于未定义状态 - 后端非空校验直接触发
Data Belum Lengkap提示,但JS报错会中断执行,导致页面无响应
2. 表单冗余字段
HTML中存在last_name输入框,但后端AddRecord不需要该参数,属于冗余代码(不直接导致无响应,但建议清理)。
3. Label文本错误
大部分输入框的Label都写成了"City",不符合字段实际含义,影响用户体验。
修复方案
修正后的SubmitRecord函数
function SubmitRecord() { document.getElementById("displayReturn").innerHTML = ""; var nomor = document.getElementById("nomor").value; var klasifikasi = document.getElementById("klasifikasi").value; var kode_unitcipta = document.getElementById("kode_unitcipta").value; var uraian = document.getElementById("uraian").value; // 修正:正确定义uraian变量 var kurunwaktu_awal = document.getElementById("kurunwaktu_awal").value; var kurunwaktu_akhir = document.getElementById("kurunwaktu_akhir").value; var tingkat_perkembangan = document.getElementById("tingkat_perkembangan").value; var media_simpan = document.getElementById("media_simpan").value; var kondisi_fisik = document.getElementById("kondisi_fisik").value; var jumlah_berkas = document.getElementById("jumlah_berkas").value; var kode_ruang = document.getElementById("kode_ruang").value; var nomor_lemari = document.getElementById("nomor_lemari").value; var nomor_boks = document.getElementById("nomor_boks").value; var nomor_folder = document.getElementById("nomor_folder").value; google.script.run.withSuccessHandler(returnBack) .AddRecord(nomor, klasifikasi, kode_unitcipta, uraian, kurunwaktu_awal, kurunwaktu_akhir, tingkat_perkembangan, media_simpan, kondisi_fisik, jumlah_berkas, kode_ruang, nomor_lemari, nomor_boks, nomor_folder); }
额外优化建议
- 删除冗余的
last_name输入框,或根据需求在后端AddRecord函数中添加对应参数。 - 修改所有错误的Label文本,例如:
- 将
kode_unitcipta的Label改为"Kode Unit Cipta" - 将
kurunwaktu_awal的Label改为"Kurun Waktu Awal" - 其余字段对应修改为实际含义的文本。
- 将
调试技巧
遇到页面无响应时,按F12打开浏览器开发者工具,查看Console面板,通常会显示JS语法错误或变量未定义的提示,这是快速定位问题的关键。
内容的提问来源于stack exchange,提问作者Yohanes Leonardus
相关产品推荐
相关产品推荐

