我最近学会了使用e.parameter.widgetName_tag
来获取标记的值,它可以很好地用于像ListBox
这样的小部件或其他可以有名字的小部件,但我试图在按钮上使用它它的ID(因为它不能给出一个名字)和一些奇怪的事情......
它曾经没有任何问题地工作,今晚它突然停止返回它的价值并给出一个丑陋的'undefined'而不是。
所以我的问题是:如何获取没有名称的窗口小部件的标记值?
这是我编写的测试代码,显示错误(deployed here)
function doGet(e) {
var app = UiApp.createApplication();
var panel = app.createVerticalPanel();
var lbl = app.createTextBox().setWidth('400').setId('lbl');
lbl.setText('Click here').setTag('tag value UI');
var btn = app.createButton('Test button with a tag value but no function').setId('btn').setTag('btn tag value')
app.add(panel.add(lbl).add(btn));
var CH = app.createServerHandler('showtag').addCallbackElement(panel);
lbl.addClickHandler(CH)
return app;
}
function showtag(e){
var app = UiApp.getActiveApplication();
var lbl = app.getElementById('lbl')
lbl.setText('TextBox tag value ='+e.parameter.lbl_tag+'---button tag ='+e.parameter.btn_tag);
return app
}
答案 0 :(得分:0)
这里的问题......
似乎无法访问没有'name'参数可用的元素的'tag'值。就我而言,这是'标签'元素......
我能找到的唯一解决方案是创建隐藏的TextBox,以便像我之前使用的标签元素一样使用它们的标签。
Google可能会对其脚本引擎进行一些更改。