在HTML和Google Apps脚本之间传递和返回数组

时间:2019-04-02 17:01:27

标签: html arrays google-apps-script

我正在尝试使用Google Apps脚本和HTML为Google表格创建搜索栏。本质上,我从表单(名称,日期和关键字)中获取用户的搜索输入,并将其传递到我的GScript文件中进行搜索。我想要一个索引数组,其中包含与搜索条件匹配的工作表的行。我知道该脚本的实际搜索部分有效;但是,将整数数组传递回HTML时出现了我的问题。

现在,有了它,以便在代码的HTML端初始化一个空数组并将其传递给GScript。它应该返回数组,然后检查数组的长度是否为空。但是,我收到一条错误消息:“无法从空读取属性“长度”。”

function gatherSearch() {

      clearErrorWarnings();

      var responsible = document.getElementById('responsible').value;
      var datefrom = formatDate(document.getElementById('datefrom').value);
      var dateto = formatDate(document.getElementById('dateto').value);
      var description = document.getElementById('description').value;
      var searchRowMatch = [];


      if(checkValidSearch(responsible, datefrom, dateto, description)) {
        searchRowMatch = google.script.run.basicSearch(responsible, datefrom, dateto, description, searchRowMatch);
        if(searchRowMatch.length == 0) {
          noSearchMatch();
        }
      }
    }

我了解GScript与HTML异步运行或与此类似的东西吗?正确方向的任何指针或有关如何解决此问题的说明都将非常棒:)谢谢!

1 个答案:

答案 0 :(得分:0)

编辑:非常简单的修复,仅添加了withSuccessHandler()标记

if(checkValidSearch(responsible, datefrom, dateto, description)) {
  google.script.run.withSuccessHandler(createTable).basicSearch(responsible, datefrom, dateto, description, searchRowMatch);
}