Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script onFormsSubmit(e)和#x27;s e是空的_Google Apps Script_Google Forms - Fatal编程技术网

Google apps script onFormsSubmit(e)和#x27;s e是空的

Google apps script onFormsSubmit(e)和#x27;s e是空的,google-apps-script,google-forms,Google Apps Script,Google Forms,所以,我道歉,如果这是愚蠢的,因为我是新的谷歌脚本和谷歌表单 我想评估用户输入的字段值。我特别不希望使用电子表格 当然,网上有很多帖子,说明了原则上如何做到这一点。可以使用“e”的“values”或“namedValues”属性传递给以下函数: function onFormSubmit(e){...} 但是,如果我这样做,并填写和提交表格,e.值是未定义的 简单的 function onFormSubmit(e) { Logger.log(e); Logger.log(e.value

所以,我道歉,如果这是愚蠢的,因为我是新的谷歌脚本和谷歌表单

我想评估用户输入的字段值。我特别不希望使用电子表格

当然,网上有很多帖子,说明了原则上如何做到这一点。可以使用“e”的“values”或“namedValues”属性传递给以下函数:

function onFormSubmit(e){...}
但是,如果我这样做,并填写和提交表格,e.值是未定义的

简单的

function onFormSubmit(e) {
  Logger.log(e);
  Logger.log(e.values);
  Logger.log(e.namedValues);
}
给我

[19-01-20 11:16:10:564 CET] [object Object]
[19-01-20 11:16:10:565 CET] undefined
[19-01-20 11:16:10:566 CET] undefined
我在这里什么都不做,我只是: 1) 创建一个带有一个字段的表单 2) 打开脚本,从上面添加函数 3) 已将提交触发器连接到函数

我错过了什么


Max

下面是一个将表单传递到服务器端code.gs的示例

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <form id="myForm" method="get">
      First name: <input type="text" name="fname"><br>
      Last name: <input type="text" name="lname"><br>
      <input type="button" value="Submit" onclick="buttonOnClick()">
    </form>
    <script>
      function buttonOnClick() {
        var form = document.getElementById("myForm");
        google.script.run.doSomething(form);
      }
    </script>
  </body>
</html>

阅读文档。您在哪里发现
e
中提供了
值和
namedValues
?您的脚本是绑定到表单还是电子表格?虽然我不确定这是否是问题的直接原因,但我可以问一下您项目中的范围吗?如果可以显示它们,请在脚本编辑器中检索它们文件->项目属性->范围。如果
https://www.googleapis.com/auth/forms
不包括在作用域中,例如,在脚本中添加注释行
//FormApp.getActiveForm()
?放好后,请重新安装触发器。这样,这个范围就可以反映出来。如果这对你的情况没有帮助,我道歉。抱歉,我认为这不能回答我的问题。我自己实现这个表单,但使用的是谷歌表单。
function doSomething(form) {
  Logger.log(form);
  Logger.log(form.fname);
  Logger.log(form.lname);
}