Google apps script 要将多个文本框相加为一个文本框吗

Google apps script 要将多个文本框相加为一个文本框吗,google-apps-script,Google Apps Script,我正在编写一个脚本,用作我的现场成员输入所需设备数值的UI 我创建了三个文本框,用于输入所需设备的数量。我还想在此UI中创建一个项目总数框,以便字段成员可以查看他们正在订购的项目数量。但是,我不知道如何计算这三个文本框的值,并将总和放入totals框。我在总计框中只能看到“未定义”或“通用” 代码如下: function review(e) { var app = UiApp.getActiveApplication(); var packageABox = app.createTextB

我正在编写一个脚本,用作我的现场成员输入所需设备数值的UI

我创建了三个文本框,用于输入所需设备的数量。我还想在此UI中创建一个项目总数框,以便字段成员可以查看他们正在订购的项目数量。但是,我不知道如何计算这三个文本框的值,并将总和放入totals框。我在总计框中只能看到“未定义”或“通用”

代码如下:

function review(e) {
  var app = UiApp.getActiveApplication();

var packageABox = app.createTextBox().setId('packageABox').setStyleAttribute("textAlign", "center");
  grid.setWidget(3, 3, packageABox); 

var packageBBox = app.createTextBox().setId('packageBBox').setStyleAttribute("textAlign", "center");
  grid.setWidget(4, 3, packageBBox); 

var packageCBox = app.createTextBox().setId('packageCBox').setStyleAttribute("textAlign", "center");
  grid.setWidget(5, 3, packageABox); 


var packageTotalBox = app.createTextBox().setId('packageTotalBox').setStyleAttribute("textAlign", "center");
  grid.setWidget(7, 3, packageTotalBox); 

return app;
}
我不知道从这里到哪里去。。。有什么提示可以让packageABox、packageBBox和packageCBox相加到packageTotalBox中吗


谢谢

在处理程序函数中,您可以获取textBow值,添加它们并将结果分配给结果小部件。 处理程序还必须具有包含3个文本框的calBackElement

代码可以是这样的:

function showTotal(e){
 var app = UiApp.getActiveApplication();
 var packageABox = Number(e.parameter.packageABox);
 var packageBBox = Number(e.parameter.packageBBox);
 var packageCBox = Number(e.parameter.packageCBox);
 var total = packageABox+packageBBox+packageCBox;
 app.getElementById('packageTotalBox').setText(total);// here use the ID of the textBow showing total
 return app;
}
如果您的文本框包含除数字以外的任何内容,请使用正则表达式仅保留数字。 例如,这将清除任何非数字值,并在每种情况下返回一个数字(未定义的情况除外)


请显示创建文本框的代码,我们需要知道文本框是否有可以检索其值的名称…抱歉!我已将框命名为:.setName('packageABox').setName('packageBBox').setName('packageCBox').setName('packageTotalBox')。此外,设置Id和设置名称之间有什么区别??我需要同时设置这两个吗?使用小部件的名称,您可以使用e.parameter.name获取其值,这似乎非常有效!我又添加了一些这样的总结,现在我发现其中一些总结在总框中显示为“NaN”?你知道那是什么意思吗?谢谢NaN不是一个数字。。。你身边有字母或单词吗?
var x = e.parameter.packageBBox;// for example '45 MPH'
var xAsNumber = Number(x.replace(/\D/g ,'')) ;// delete everything that is not a digit, 45.0 in this example