在下面的代码中,我定义了一个具有名称和ID的TextBox。按钮处理程序工作正常,但我无法获取在TextBox上输入的值。 msgBox显示出来,但是e.parameter.matchValue
显示为undefined
。
在应用程序的其他部分,我具有相同的逻辑,但具有一个ListBox,并且工作正常。
我在做什么错?
function chooseColumnValueToMatch() {
var app = UiApp.createApplication().setHeight(150).setWidth(250);
var ss = SpreadsheetApp.getActiveSpreadsheet();
var columnName = ScriptProperties.getProperty("columnNameToMatch");
var h1Line = app.createHTML("<h2>Value to match "+columnName+":</h2>");
var textPara = app.createHTML("<p>Type the VALUE that the <b>"+columnName+"</b> column must match EXACTLY to send the message.</p>");
var selectionHandler = app.createServerHandler('chooseColumnValueToMatchSelectionHandler');
var valueInputBox = app.createTextBox()
.setTitle("Match value for "+columnName)
.setName("matchValue")
.setId("matchValue");
var submitBtn = app.createButton("Submit", selectionHandler);
app.add(h1Line)
.add(textPara)
.add(valueInputBox)
.add(submitBtn);
ss.show(app);
}
function chooseColumnValueToMatchSelectionHandler(e){
var app = UiApp.getActiveApplication();
var columnName = ScriptProperties.getProperty("columnNameToMatch");
var ss = SpreadsheetApp.getActiveSpreadsheet();
var msg = e.parameter.matchValue;
Browser.msgBox("Value to match "+columnName+" column is:", msg, Browser.Buttons.OK);
return app;
}
最佳答案
看来您忘了在处理程序中添加callbackElement
你可以这样尝试:
selectionHandler.addCallbackElement(valueInputBox)
就在submitBtn定义之后
关于google-apps-script - Google Apps脚本TextBox值未传递到e.parameter.TextBoxName,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12831385/