Google 在 ModelessDialog 中刷新电子表格脚本 table

Google Spreadsheet script refresh table inside a ModelessDialog

所以我正在尝试使用 "ModelessDialog" 创建一个 "search box",主要思想如下

1) 用户 运行 是一个弹出带有以下字段的 ModelessDialog 的宏:自动完成、搜索按钮和 table(空的,只有 headers) 2) "Autocomplete" 字段是用户可以键入 "ID" 的地方,(这部分已经完成) 3) 思路是,选择ID后,按"Search"按钮在后台运行一些其他宏,然后returns填充table所需的数据并刷新当前 "ModelessDialog"

这样做的想法是我不想打开/呈现整个页面,因为我想尽可能快并且不必在 windows[=12 之间 "jump" =]

有什么建议吗? (我没有添加任何代码,因为我对其余代码 /html 没有任何问题,因为自动完成自动填充,按钮 运行 是宏和 returns一些数据)

我也是 javascript 和 html 中的新人(我按照教程使其他部分工作 :D )

驻留在无模式对话框中的客户端 JS 代码可以通过 google.script.run 调用服务器端函数。服务器函数可以获取填充 table 所需的数据,执行字符串插值和 return 一个 HTML 字符串到客户端。 只需设置 google.script.run 的回调函数即可修改从服务器收到的 table 的内容。

无模式对话框HTML

  <div id="myTable">
    <table>
      <!-- table contents -->
    </table>
   </div>

对话框的 JS 脚本:

  google.script.run.withSuccessHandler(function(html){

      var tableContainer = document.getElementById("myTable");
      tableContainer.innerHTML = html;

  }).getTableData();

更多关于客户端-客户端服务器通信的信息here 更多关于模板 html here