我是Google Apps脚本的新手,我正在尝试为最终用户创建一个基本用户界面来查询数据(存储在Google电子表格中)并以格式化/用户友好的方式显示数据。
由于我想开始简单并在学习Apps脚本时添加组件我决定创建一个基本表单,允许我在文本框中输入文本,然后将该值分配给标签(我认为会是创建基本表单组件和检索/赋值的简单练习。
不幸的是,我遇到的绊脚石是没有getText()或TextBox.getValue()函数。我尝试通过在线论坛/谷歌等搜索找到解决方法的方法,但我尝试的任何东西似乎都没有用(之前的搜索让我感觉很好并在事件处理程序中解决这个问题)。
我的问题是这个。如果我有一个textBox('textBox1')和一个按钮('button1')和一个标签('label1')。当我点击button1时,如何让我的网络应用程序将我在textBox1中输入的值分配给label1?
我意识到这可能是最基本的问题,而且我知道之前已经被问到了....但无论我多么努力地挖掘这些旧帖子,我似乎无法想象应该是多么简单的一点代码输出。
提前致谢。
答案 0 :(得分: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;
}
所以需要注意的事项:
e.parameter
传回。属性名称是元素的名称。示例:e.parameter.textboxName
。