0

基本的に機能する次のコードがありますが、setPopupPosition メソッドがあるべき場所にダイアログ ボックスが配置されていません。これをChromeでテストしています。

function doGet() {
  var member1 = "Member1";
  var member2 = "Member2";
  var app = UiApp.createApplication();
  var vPanel = app.createVerticalPanel().setId('vPanel').setSpacing(10);
  var hPanel = app.createHorizontalPanel().setId('hPanel').setSpacing(10);
  var msg = app.createHTML("Which member's information do you want to update?");
  var radio1 = app.createRadioButton('rb1').setText(member1);
  var radio2 = app.createRadioButton('rb2').setText(member2);
  var selectBtn = app.createButton("Select").setStyleAttribute("margin-left", "80px").setFocus(true);
  var cnclBtn = app.createButton("Cancel");
  var dlg = app.createDialogBox()
    .setModal(true)
    .setText("Select Member")
    .setTitle("Select Member")
    .setPopupPosition(200, 200);  //PopupPosition does not work
  hPanel.add(selectBtn)
    .add(cnclBtn);
  vPanel.add(msg)
    .add(radio1)
    .add(radio2)
    .add(hPanel);
  dlg.add(vPanel);
  dlg.show();
  app.add(dlg);

  return app;
}
4

1 に答える 1

0

setPopupPositionポップアップが関数で作成された場合にのみ機能するようです....奇妙に思えるhandlerことはわかっていますが、私が書いたいくつかのスクリプトでは、ハンドラーで問題なく使用し、コピー/貼り付けしても機能しませんdoGet関数....

とにかく、実際のコードでそれをどのように使用するかはわかりませんが、それまでの間、スタイル属性で配置できます...

このコードは機能します:

function doGet() {
  var member1 = "Member1";
  var member2 = "Member2";
  var app = UiApp.createApplication();
  var vPanel = app.createVerticalPanel().setId('vPanel').setSpacing(10);
  var hPanel = app.createHorizontalPanel().setId('hPanel').setSpacing(10);
  var msg = app.createHTML("Which member's information do you want to update?");
  var radio1 = app.createRadioButton('rb1').setText(member1);
  var radio2 = app.createRadioButton('rb2').setText(member2);
  var selectBtn = app.createButton("Select").setStyleAttribute("margin-left", "80px").setFocus(true);
  var cnclBtn = app.createButton("Cancel");
  var dlg = app.createDialogBox()
    .setModal(true)
    .setText("Select Member")
    .setTitle("Select Member")
    .setStyleAttributes({'margin-top':200,'margin-left':200})
    .setPopupPosition(200, 200);  //PopupPosition does not work
  hPanel.add(selectBtn)
    .add(cnclBtn);
  vPanel.add(msg)
    .add(radio1)
    .add(radio2)
    .add(hPanel);
  dlg.add(vPanel);
  dlg.show();
  app.add(dlg);

  return app;
}

ところで、radioButtons はそのままでは機能しません。想定どおりに動作するには、同じ名前にする必要があります。その件に関して未解決の問題があり、いくつかの回避策もあります。(問題 506 )

于 2013-08-05T21:05:15.823 に答える