Google Apps GUI构建器未将回调元素传递给脚本

时间:2013-02-01 22:43:24

标签: api user-interface callback google-apps-script

好的,我正在使用谷歌应用程序GUI构建器,我已经定义了一个简单的textBox小部件,其ID和名称属性都设置为'TextB1'。

我还定义了一个按钮。

我为按钮鼠标单击事件添加了一个处理程序,并将回调元素设置为'TextB1'。

在我的处理函数中,我有代码:

Browser.msgBox(e.parameter.TextB1);

当我运行所有内容时,单击按钮并调用处理程序,它会点击此行并显示“undefined”。 ...

Iv'e尝试了不同的小部件类型的多种可能性,使用复制和粘贴来确保没有拼写错误等,并且绝对没有任何作用。最后,我将所有内容都缩减为这个简单的例子,将id和name设置为相同的值,以避免我在错误的地方使用错误引用的任何可能性。

但即使有这个简单的例子,我也不知道我做错了什么。我不是一个真正的javascript程序员,虽然我有超过几十年的windows / c / c#/ unix等所以我真的认为这将是非常微不足道的,但我完全被淹没(或者我的代码完全有缺陷;) ! )...无论哪种方式,如果有人想指出我的方式的错误,并发现错误,我会非常感激,因为它让我疯了。

有趣的是注意到其他人遇到了这个问题,但除了指出需要设置名称属性以及窗口小部件的ID之外,有几个人说这个问题刚刚消失......这是间歇性的吗?我还在做什么蠢事?

任何有关其他明显错误的欢迎或建议......

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,但是由于你提到设置“名称”属性的提示,我得到了它。

我也在使用GUI构建器。我复制了这个示例代码:

https://developers.google.com/apps-script/class_textbox

进入GUI构建器中的等效项,但已更改:

app.getElementById( “标签”)。的setText(eventInfo ...

为:

app.getElementById( “标签”)的setText(Utilities.jsonStringify(eventInfo));

这可以更深入地了解实际传递给回调的内容。我无法使用msgBox,因为我的是一个webapp。有些人说你需要使用一个基本按钮(就像我和本例中一样)而不是提交按钮。确保使标签足够宽以显示结果。希望这会有所帮助。