0

UI ウィジェットでタグを使用しようとしていますが、ハンドラー関数でタグ値を使用できません (「null」を返します)。

そのように動作するはずですか(この場合、私にとっては役に立たないのです)、それとも何か間違っていますか?TAGS を使用した経験のある方がいらっしゃいましたら、アドバイスをいただければ幸いです ;-)

テストに使用したコードは次のとおりです。

function doGet(e) {
  var app = UiApp.createApplication();
  var panel = app.createVerticalPanel();
  var lbl = app.createTextBox().setWidth('400').setId('lbl');
  lbl.setText('empty').setTag('tag value');
  lbl.setText('original value = '+lbl.getTag());// this line to check that setTag / getTag is working as it should in the same function
  app.add(panel.add(lbl));
  var CH = app.createServerHandler('showtag').addCallbackElement(panel);
  lbl.addClickHandler(CH)

  return app;
}


function showtag(){
var app = UiApp.getActiveApplication();
var lbl = app.getElementById('lbl')
lbl.setText('new value = '+lbl.getTag());
return app
}

このリンクでテストできます

編集:テストするために、doGet関数でタグを読み書きするコードに行を追加しました...

EDIT 2:Srikによるソリューション、それと同じくらい簡単:

function showtag(e){
var app = UiApp.getActiveApplication();
var lbl = app.getElementById('lbl')
lbl.setText('from showtag value = '+e.parameter.lbl_tag);
return app
}
4

1 に答える 1