【问题标题】:Server Side and Client Side communications Functions with values at Google Apps Script服务器端和客户端通信函数与 Google Apps 脚本中的值
【发布时间】:2021-03-29 21:25:37
【问题描述】:

问题来了……

我在网上看到this post,这对我的日常工作非常有用。 所以我修改了代码来做我需要的。

问题:在客户端,我需要显示表单,而服务器端完成了其余的代码,只是从客户端接收值。注意:客户端无法从脚本编辑器工具更改代码。

请参阅下面的屏幕截图以完全理解。

服务器端 - 代码

服务器端 - 表单(HTML 视图)

服务器端 - 表单(HTML 中的脚本代码以读取值) - 类似于 Yagisanatode 的帖子

服务器端 - 记录器值

直到这里,一切都完美无缺, 当我尝试将其导入客户端时出现问题。

客户端 - 库导入

客户端 - 代码

客户端 - 表单(HTML 视图)

似乎一切正常。但是当客户点击提交按钮时。 没有任何效果!客户端的函数 addRegistro(values) 不运行。也不要在服务器端运行!

所以,我感谢社区的帮助,以了解为什么会发生这种情况。我做错了什么?

【问题讨论】:

  • Edit 以纯文本而不是图像的形式提供代码。
  • If(!postedCode)let help=false;

标签: javascript google-apps-script google-sheets google-cloud-platform


【解决方案1】:

将按钮类型从提交更改为按钮。它有效。

【讨论】:

  • 它对我不起作用,runies() 函数永远不会被触发。我可以进行哪些更改才能使示例生效?
  • Google Apps 脚本编辑器最近已更新。在旧版本中,上面的示例正常工作。在新版本中,需要部署服务器端,在客户端,将库配置为最新版本。对于上面的示例,开发人员模式无法正常工作。该问题已通过 issueTracker 176214022 报告给谷歌
【解决方案2】:

我敢打赌,您的问题出在“novoRegistro”功能上。库中的函数可能没有访问当前的电子表格。关于电子表格app.getUI的谷歌文档说“脚本只能与打开电子表格的当前实例的UI交互,并且只有当脚本绑定到电子表格时。”。 尝试将函数“novoRegistro”放入您的应用程序 .gs 代码而不是库中。

【讨论】:

  • 函数getUI返回给调用它的用户,所以即使在服务器端也能正常工作,因为客户端调用了该函数,所以当前的Ui,是来自客户端的Ui。如果我的 ServerSide 与电子表格链接,它将不起作用,但在我的情况下,Server 端是一个独立的脚本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-16
相关资源
最近更新 更多