You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过两个Apps Script库实现表单验证时遇Uncaught ReferenceError错误

问题解决步骤

1. 修正前端按钮的点击绑定

把form.html里登录按钮的onclick="check()"改成调用前端已定义的validate():

<input type="button" onclick="validate()" value="登录">

2. 在前端validate()中调用后端服务函数

在form.html的<script>标签里,完善validate()函数,用google.script.run调用后端的check():

function validate() {
  // 可选:先执行前端本地验证逻辑
  // 调用后端的check函数
  google.script.run
    .withSuccessHandler(function(response) {
      // 处理后端返回的成功结果
    })
    .withFailureHandler(function(error) {
      // 处理调用失败情况
      console.error(error);
    })
    .check();
}

3. 处理跨库函数调用的代理(针对双库场景)

因为Web应用部署的是第二个库,前端google.script.run默认调用的是第二个库的函数,所以需要在第二个库中添加代理函数,把请求转发到第一个库:

// 第二个库中的代理函数
function check() {
  // 调用第一个库的check函数
  return first.check();
}

同时确保第一个库的check()函数是公开可访问的——需在库的设置中将其设为可见,且函数为顶级函数(未嵌套在其他函数内部)。

4. 单库场景的基础排查

如果单库也报错,检查以下几点:

  • 前端的validate()函数是否正确定义在form.html的<script>标签中,无语法错误
  • 后端的check()函数是否为顶级函数,未被嵌套
  • HTML加载时,<script>标签的逻辑未被页面渲染阻塞

内容的提问来源于stack exchange,提问作者hub2sell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 20:12:11