在脚本中使用e.parameter时出现问题

时间:2012-07-17 21:55:20

标签: google-apps-script google-apps

我有一个脚本作为Web应用程序的服务发布,我试图在其中构建搜索功能。 scipt旨在允许用户在名为 searchBox 的文本框中输入术语,单击搜索并显示包含该术语的电子表格的行。

function searchClickHandler(e) {
  var app = UiApp.getActiveApplication();
  var searchResultPanel = app.getElementById('searchResultPanel');
  var searchResultPane = app.getElementById('searchResultPane');
  var searchCloseButton = app.getElementById('searchCloseButton');
  var searchTerm = e.parameter.searchBox;
  if (searchTerm.toString().length == 6) {
    var searchList = ArrayLib.filterByText(dataValues, 1, searchTerm.toString());
    var searchTrim = new Array();
    for (var i = 0; i < searchList.length; i++) {
      var searchTrim1 = searchList[i].slice(1, 6);
      var searchTrim2 = searchList[i].slice(8, 10);
      var searchTrim3 = searchList[i].slice(17, 19);
      searchTrim.push(searchTrim1.concat(searchTrim2,searchTrim3));
    }
  }

如果还有其他一些,那么处理程序应显示结果,但 e.parameter.searchBox 将返回未定义。如果我手动设置 searchTerm ,脚本运行正常。

我在同一个脚本中的另一个处理程序中成功使用 e.parameter ,所以我对此不知所措。

提前感谢。

1 个答案:

答案 0 :(得分:0)

您显示的代码与帮助无关......您在创建它时是否给“searchBox”命名,还是它的ID?

e.parameter使用小部件的名称作为参考。

编辑(以下评论):在GUI构建器中尝试按照以下逗号分隔的名称(对于窗口小部件或面板ID)添加每个callbackElement:

enter image description here