【发布时间】:2016-12-21 13:04:36
【问题描述】:
我在这里想要实现的是检查从我的表单提交的值是否符合某些条件,然后发送邮件。当值符合肯定标准时,我会收到邮件(所以邮件部分不是问题。
if(parseInt(e.values[2]) > -15)
{
mailInnhold +="Fryser 200 er registrert som " + e.values[2] + " grader. " + "\n";
feil++;
}
if(parseInt(e.values[3]) > 4 || parseInt(e.values[3]) < (-1)) // Kjøl 102 //
{
mailInnhold += "Kjøl 102 er registrert som " + e.values[3] + " grader. " + "\n";
feil++;
}
当我尝试对负值执行 parseInt() 时,我得到 NaN。显然这是因为我从表单中收到了一个 ndash(而不是连字符),但我无法解决这个问题,而且我在 Google 上也找不到任何相关内容。
非常感谢您的帮助,如果我的问题有任何问题,如果需要(有充分的理由),我会很乐意将其删除。
编辑:我指的问题是:Javascript parseInt on large negative number gives NaN
EDIT2:MVCE 和 Rubén 示例
function emailNotification(e) {
Logger.log(e.values[1]); //Where e.values[1] is entered as -1 in the form
Logger.log(parseInt(e.values[1]));
}
运行返回:
[16-12-29 12:44:03:822 CET] -1
[16-12-29 12:44:03:823 CET] NaN
【问题讨论】:
-
如果用户确实在输入该字符,请在代码中检查它并在解析前用破折号替换。
-
@ZigMandel,目前我是唯一一个将数据写入表单的人,而且我一直明确使用“-”而不是“-”,但 Google 表单通过 e 提交。价值观
-
请添加示例数据输入以及 [mvce]。
-
我刚刚完成了@ZigMandel 的建议,我检查了所有提交的数据是否有' - '并用' - '替换()它。我仍然很想知道为什么会发生这种情况,因为我只在输入负值时使用' - '。
标签: javascript google-apps-script google-sheets google-forms