0

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');
}
4

2 に答える 2

2

追加

return app; 

RespondToSubmit 関数の最後に

于 2012-06-21T04:31:36.310 に答える
0

ある場合には setText() を使用し、別の場合には setValue() を使用します ... 気づきませんでしたか?

また、使用する必要のない要素を作成する同じ関数にいる場合、 textBox は要素を保持する変数であるため、使用するgetElementById()だけで済みます。これは、別の関数から要素を呼び出すためにのみ使用されます。textBox.setValue()getElementById

于 2012-06-20T16:46:47.607 に答える