Google Apps Script中HTML调用JS函数返回值显示undefined问题求解
问题原因
google.script.run 是Google Apps Script提供的客户端调用服务端函数的异步接口,本身无返回值,服务端函数的执行结果只能通过回调方法接收,你之前直接把调用结果赋值给变量,拿到的自然是undefined。
修复方案
1. 修改客户端脚本代码
<script> function displayActiveDate(){ google.script.run // 服务端函数执行成功的回调,入参就是getActiveDate的返回值 .withSuccessHandler(activeDate => { document.getElementById("deliveryDate").value = activeDate; }) // 可选的错误回调,方便后续排查异常 .withFailureHandler(err => { console.error("获取日期出错:", err); }) // 最后写要调用的服务端函数名 .getActiveDate(); } </script>
2. 优化触发逻辑(可选)
你现在用的onmousemove触发会导致函数反复执行,更合理的预填充方案是页面加载完成后自动触发:
- 输入框代码可以移除触发事件:
<input type="text" id="deliveryDate" name="deliveryDate">
- 在页面body标签添加加载完成触发的事件:
<body onload="displayActiveDate()">
内容的提问来源于stack exchange,提问作者Nathan
相关产品推荐
相关产品推荐

