3

我是 Google Apps 脚本领域的新​​手,我正在尝试为我的最终用户创建一个基本的 UI 来查询数据(存储在 google 电子表格中)并以格式化/用户友好的方式显示数据。

因为我想从简单开始并在学习 Apps 脚本时添加组件,所以我决定创建一个基本表单,允许我在文本框中输入文本,然后将该值分配给标签(我认为这将是一个简单的练习创建基本表单组件和检索/分配值)。

不幸的是,我遇到的绊脚石是没有 getText() 或 TextBox.getValue() 函数。我尝试通过在线论坛/谷歌等搜索以找出解决方法,但我尝试的任何方法似乎都不起作用(之前的搜索让我尝试在事件处理程序中解决这个问题)。

我的问题是这个。如果我有一个文本框('textBox1')和一个按钮('button1')和一个标签('label1')。当我单击button1时,如何让我的Web应用程序将我在textBox1中输入的值分配给label1?

我意识到这可能是最基本的问题,而且我知道以前有人问过它……但是无论我多么努力地阅读这些旧帖子,我似乎都无法弄清楚什么应该是简单的代码.

提前致谢。

4

1 回答 1

2

假设您的代码如下所示:

var textbox = app.createTextBox().setName("textboxName");
var buttonHandler = app.createServerHandler("updateLabelText").addCallbackElement(textbox);
var button = app.createButton("Click me").addClickHandler(buttonHandler);
var label = app.createLabel().setId("label");

然后在你的函数中:

function updateLabelText(e) {
  var app = UiApp.getActiveApplication();
  app.getElementById("label").setText(e.parameter.textboxName);
  return app;
}

所以要注意的事项:

  1. 按钮处理程序被赋予了您在代码中其他地方定义的函数的名称。
  2. 按钮处理程序也必须被赋予一个“回调元素”。如果您想在函数中读取该元素的值,这是必需的。您可以将面板添加为回调元素,该面板上的任何内容都将添加到回调中。
  3. 回调元素的值通过e.parameter. 属性名称是元素的名称。示例:e.parameter.textboxName
  4. 标签需要一个 ID,以便您可以从其他函数中引用它。
于 2013-02-11T16:26:18.927 回答