如何在GAS用户界面中没有名称的小部件上使用TAGS

时间:2012-08-09 01:04:38

标签: google-apps-script

编辑:修正于8月10日这是一个短暂的:-)

我最近学会了使用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
}

1 个答案:

答案 0 :(得分:0)

这里的问题......

似乎无法访问没有'name'参数可用的元素的'tag'值。就我而言,这是'标签'元素......

我能找到的唯一解决方案是创建隐藏的TextBox,以便像我之前使用的标签元素一样使用它们的标签。

Google可能会对其脚本引擎进行一些更改。