哪些步骤会重现这个问题?
预期产量是多少?你看到了什么呢? 在处理程序函数中,期望参数返回被单击的源对象的名称。现在我看到一个空值。
在哪个浏览器和& OS? Chrome 19.0.1084.56米 Windows 7 SP1 x64
请在下面提供任何其他信息。
function buildMenu() {
var app = UiApp.createApplication();
var myRootMenu = app.createMenuBar(false);
var txtTest = app.createTextBox().setText("test").setId("txtTest");
var myHandler = app.createServerHandler("menuHandler").addCallbackElement(txtTest);
myRootMenu.addItem("File", myHandler );
app.add(myRootMenu);
return app;
}
function menuHandler(e) {
Logger.log(e);
}
日志输出是: {参数= NULL}
答案 0 :(得分:2)
首先:这不是问题跟踪器,请发布您认为有问题的where it should be
第二:如果你没有向serverhandler添加任何callBackElement,它就不能返回任何值。请仔细阅读docs。
编辑:关注您的评论:
CallBackElement返回的值链接到其名称,因此您的代码应如下所示:
app.createTextBox().setName('test').setText("test").setId("txtTest");
这是一个有效的例子:
function buildMenu() {
var app = UiApp.createApplication();
var myRootMenu = app.createMenuBar(false);
var txtTest = app.createTextBox().setText("Got it !").setName('test');
var myHandler = app.createServerHandler("menuHandler").addCallbackElement(txtTest);
myRootMenu.addItem("File", myHandler );
app.add(myRootMenu);
var doc = SpreadsheetApp.getActive();
doc.show(app);
}
function menuHandler(e) {
Logger.log(e);
}