function onFormSubmit(e) {
var name = e.namedValues['Name'][0];
var email = e.namedValues['Email'][0];
var shirts = e.namedValues['Number of Shirts'][0];
var cost = shirts*25; \\$25 per shirt
sendEmail_(name,email,shirts,cost);
}
答案 0 :(得分:1)
即使您将验证类型设置为Number
,Google表单中提交的字段也会出现问题。
在对字符串执行数学运算之前,您需要将字符串显式地转换为数字。您可以使用Number()
或parseInt()
您修改后的代码:
function onFormSubmit(e) {
var name = e.namedValues['Name'][0];
var email = e.namedValues['Email'][0];
var shirts = Number(e.namedValues['Number of Shirts'][0]);
var cost = shirts*25; \\$25 per shirt
sendEmail_(name,email,shirts,cost);
}
将来,您可以使用typeof
进行测试,以确定变量的类型。如:
function onFormSubmit(e) {
Logger.log(typeof e.namedValues['Number of Shirts'][0]);
}
如果要在字符串中附加数字,或在字符串字段中包含数字,也应该注意。您无需将其强制转换为toString()
的字符串。这将隐式执行。