谷歌脚本获取当前响应onSubmit [英] google script get the current response onSubmit

查看:86
本文介绍了谷歌脚本获取当前响应onSubmit的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有什么方法可以找出当前google表单的响应(以编程方式)?在onSubmit函数中。



查看他们的文档,但我必须提供respondId。我如何找到respondId?



从他们那里得到的关于这个的简短代码是:

  //通过ID打开表单并记录每个问题的答案。 
var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');
var formResponses = form.getResponses();
for(var i = 0; i< formResponses.length; i ++){
var formResponse = formResponses [i];
var itemResponses = formResponse.getItemResponses(); (var j = 0; j< itemResponses.length; j ++){
var itemResponse = itemResponses [j];
Logger.log('回答#%s到问题%s是%s',
(i + 1).toString(),
itemResponse.getItem() .getTitle(),
itemResponse.getResponse());


code $

$ b

更新:

pre $ function onSubmit(e){
/ *通过填写表单获得数值* /
var itemResponses = e.response.getItemResponses() ;
var myWantedValue = itemResponses [COLUMN_NUMBER] .getResponse();





注意:通过传递e(vent)作为参数,值可以通过提交实时表单来访问,而不是由脚本编辑器来访问!

解决方案

对于最后的表单响应,是你在找什么?

  function myFunction(){
var formResponses = FormApp.getActiveForm()。getResponses();
Logger.log(formResponses.length);
var formResponse = formResponses [formResponses.length-1];
var itemResponses = formResponse.getItemResponses(); (var j = 0; j< itemResponses.length; j ++){
var itemResponse = itemResponses [j];
Logger.log('最后回答问题%s是%s',
itemResponse.getItem()。getTitle(),
itemResponse.getResponse());
}
}


Is there any way to find out the current response of the google form (programatically)? In the onSubmit function.

Looked over their documentation but I have to provide the respondId. How do I found the respondId?

A snipped code from them about this is:

// Open a form by ID and log the responses to each question.
 var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');
 var formResponses = form.getResponses();
 for (var i = 0; i < formResponses.length; i++) {
   var formResponse = formResponses[i];
   var itemResponses = formResponse.getItemResponses();
   for (var j = 0; j < itemResponses.length; j++) {
     var itemResponse = itemResponses[j];
     Logger.log('Response #%s to the question "%s" was "%s"',
         (i + 1).toString(),
         itemResponse.getItem().getTitle(),
         itemResponse.getResponse());
   }
 }

UPDATE:

function onSubmit(e) {
  /* Get values entered by filling the form */
  var itemResponses = e.response.getItemResponses();
  var myWantedValue = itemResponses[COLUMN_NUMBER].getResponse();
}

Note: By passing the e(vent) as parameter the values can be accessed by submitting the live form, NOT by the script editor!

解决方案

This code gives you the values for the last form response, is that what you're looking for ?

function myFunction() {
  var formResponses = FormApp.getActiveForm().getResponses();
  Logger.log(formResponses.length);
  var formResponse = formResponses[formResponses.length-1];
  var itemResponses = formResponse.getItemResponses();
  for (var j = 0; j < itemResponses.length; j++) {
    var itemResponse = itemResponses[j];
    Logger.log('Last response to the question "%s" was "%s"',
               itemResponse.getItem().getTitle(),
               itemResponse.getResponse());
  }
}

这篇关于谷歌脚本获取当前响应onSubmit的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆