为什么app.getElementById('myTextBox').setValue('default')
在showDialog()
中工作但在respondToSubmit(e)
中无效?
function showDialog() {
var app = UiApp.createApplication();
var panel = app.createVerticalPanel();
var textBox = app.createTextBox();
textBox.setName('myTextBox').setId('myTextBox');
app.getElementById('myTextBox').setValue('default');
var button = app.createButton(Modify');
panel.add(textBox);
panel.add(button);
var clickHandler = app.createServerClickHandler("respondToSubmit");
button.addClickHandler(clickHandler);
clickHandler.addCallbackElement(panel);
app.add(panel);
var doc = SpreadsheetApp.getActive();
doc.show(app);
}
function respondToSubmit(e) {
var app = UiApp.getActiveApplication();
app.getElementById('myTextBox').setText('Modifed');
}
答案 0 :(得分:2)
添加
return app;
在respondToSubmit函数结束时
答案 1 :(得分:0)
在一种情况下你使用setText(),在另一种情况下你使用setValue()......你没注意到吗?
此外,当您处于创建元素的同一个函数中时,您不需要使用getElementById()
,您只需使用textBox.setValue()
,因为textBox是保存元素的变量 - { {1}}仅用于从另一个函数中调用元素。