Events 服务器处理程序事件信息参数google应用程序脚本

Events 服务器处理程序事件信息参数google应用程序脚本,events,google-apps-script,Events,Google Apps Script,一个简单的应用程序: function doGet() { return(test()); } function test(){ var smiley = UiApp.createApplication().setTitle("TT Bomgar Feedback"); var textIn = smiley.createTextBox().setName("text"); var textOut = smiley.createLabel().setId("label").se

一个简单的应用程序:

function doGet() {
  return(test());
}

function test(){
  var smiley = UiApp.createApplication().setTitle("TT Bomgar Feedback");
  var textIn = smiley.createTextBox().setName("text");
  var textOut = smiley.createLabel().setId("label").setVisible(false);
  var button = smiley.createSubmitButton("Submit");
  var handler = smiley.createServerHandler("handler");
  button.addClickHandler(handler);
  smiley.add(button);
  smiley.add(textIn);
  smiley.add(textOut);
  return(smiley);
}

function handler(e){
  app = UiApp.getActiveApplication();
  var text = e.parameter.text;
  app.getElementById("label").setVisible(true).setText(text);
  return(app);
}
在处理函数中,
var text
始终是
undefined
。这意味着将返回以下内容:

因此,未定义的是打印的,而不是“某些文本”

我不明白为什么,因为我已经在测试函数中正确设置了文本框元素的名称


非常感谢您的帮助。

您必须向服务器处理程序添加回调元素:

...
var handler = smiley.createServerHandler("handler");
handler.addCallbackElement(textIn);
button.addClickHandler(handler);
...

您必须将回调元素添加到服务器处理程序中:

...
var handler = smiley.createServerHandler("handler");
handler.addCallbackElement(textIn);
button.addClickHandler(handler);
...

您需要向处理程序添加callBackElemnt,以便将其值传递给处理程序函数。在正常实践中,我们只需添加包含所有其他元素的最顶层元素。但您也可以添加要传递其值的所有元素

修改脚本

var handler = smiley.createServerHandler("handler");
handler.addCallbackElement(textIn);
button.addClickHandler(handler);

您需要向处理程序添加callBackElemnt,以便将其值传递给处理程序函数。在正常实践中,我们只需添加包含所有其他元素的最顶层元素。但您也可以添加要传递其值的所有元素

修改脚本

var handler = smiley.createServerHandler("handler");
handler.addCallbackElement(textIn);
button.addClickHandler(handler);

谢谢发送到服务器并打印到屏幕上的值现在是通用值。有没有想过是什么原因导致了这一问题,以及我如何避免这一问题?Thanksry打印Utilities.jsonStringify(e.parameter)并检查是否获得所需的参数。谢谢。发送到服务器并打印到屏幕上的值现在是通用值。有没有想过是什么原因导致了这一问题,以及我如何避免这一问题?感谢您打印Utilities.jsonStringify(e.parameter)并检查您是否获得了所需的参数。