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
}