是否有可能为一个窗口小部件的客户端触发器触发第二个窗口小部件的服务器端触发器

时间:2014-10-08 01:15:25

标签: google-apps-script

我在值更改事件上有一个带有服务器端触发器的复选框。每当我选中/取消选中该框时,我都能看到日志中的往返行程。

我配置了一个按钮,当我点击按钮时,它会选中该框。它检查正常,但我希望值更改触发器调用。它没有。

这是否记录不起作用,我找不到它?我设置错了吗?一个错误?

function doGet() {
  var app = UiApp.createApplication();
  var serverHandler = app.createServerHandler('myClickHandler');
  var cb = app.createCheckBox().addValueChangeHandler(serverHandler).setName('box');
  var button = app.createButton('Press me');
  var clientHandler = app.createClientHandler().forTargets(cb).setValue(true);
  button.addClickHandler(clientHandler);
  app.add(button).add(cb);
  return app;
}

function myClickHandler(e) {
  Logger.log(e);
  return UiApp.getActiveApplication();
}

感谢。

1 个答案:

答案 0 :(得分:0)

根据CheckBox.setValue() method documentation

  

设置是否应选中CheckBox。 不会触发任何事件   如果该值因此次调用而发生变化。

您需要在按钮中添加服务器处理程序才能达到您想要的效果。