0

我知道这是多次讨论的问题,但我无法获得放置在表格中的文本框的值。我知道如何获取文本框的值(e.parameter.textBoxName),通常它可以正常工作。

现在唯一的区别是我有一个包含 5 个选项卡的小工具,每个选项卡都有一些介绍文本和一个表格。每个表包含大约 30 行,每行有两个文本框和一个按钮,用于将特定行中两个文本框的值提交到电子表格。一切正常,所有名称(以及 ID)都是唯一的,但问题是当我提交文本框时,我得到“未定义”(在我的电子表格中)。

我猜问题出在脚本的复杂性上,所以:

function buttonClick(e) {
    var app = UiApp.getActiveApplication();
    var theValue = e.parameter.textBoxName;
    ...something...
}

..根本不足以定义它是哪个文本框。但是我得到按钮ID没有任何问题

var buttId = new String(e.parameter.source);

我试图解决这个问题几天没有任何结果。我对 GAS 不是很好,而且在目标编程方面我完全不知道。您对如何获得此值有一些想法吗?如果有帮助,我可以获取表的 ID,但是要使用什么?

非常感谢您!

编辑:我尝试将 .addCallbackElement(textbox) 添加到文本框 - 我收到错误消息。我尝试将 .addCallbackElement(textbox) 与 .addCallbackElement(button) 一起添加到提交按钮,但我仍然得到“未定义”。

4

1 回答 1

0

callbackElement 必须添加到处理程序,而不是小部件或按钮。

正确完成它的最简单(也是最安全)的方法是选择最高级别的父级作为回调元素。

在您的情况下,它可能是选项卡面板,或者如果您使用了一个选项卡,它最终可能是另一个包含 5 个选项卡的面板。

另请注意,在同一个 UI 中可能真的有很多小部件而不会导致任何问题......我有一个包含大约 200 个文本框的应用程序可以完美运行,我不知道任何限制,也不知道是否存在限制.. .

于 2013-07-17T18:50:35.823 回答