0

如果可以的话,我想要一个小小的理智检查。

HtmlOutput 窗口中的 Javascript 代码是否可以在 Google 电子表格上浮动更改变量并调用最初创建 HtmlOutput 的 gs 代码中的方法?

我有一个带有浮动表单的 Google 电子表格,如下所示:

一些代码.gs

var theForm;
var theSpreadsheet;
function makeForm() {
    :
  theForm = HtmlService.createTemplateFromFile('aForm').evaluate();
  theSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();    
  theSpreadsheet.show(theForm);
    :
}

function recordTheForm(jsonFormData) {
    :
  theForm.clear();
    :
}

附加到“aForm.html”的 HTML 中的一个按钮,我有一个函数调用回文件“someCode.gs”。

aForm.html

  :
google.script.run.recordTheForm(jsonTheForm);
  :

我是否正确,即使它是从 someCode.gs 实例化的,recordTheForm() 的调用者也不知道该原始内存空间的内容?

有没有办法得到它?比如来回传递“上下文”?

4

1 回答 1

0

GAS 中的变量:

浏览器按钮点击和其他浏览器事件会产生对 GAS 的调用。从浏览器到 GAS 的每次调用都会导致您的 GAS 代码重新运行,重新初始化所有变量。这是全局变量的问题。全局变量需要从浏览器传回您的 GAS 代码或从数据库或脚本属性重新加载。

于 2012-10-07T01:21:30.387 回答