Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.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
Javascript 如何获取Google表单字段值并在Appscript中使用它发送电子邮件_Javascript_Google Apps Script_Google Forms - Fatal编程技术网

Javascript 如何获取Google表单字段值并在Appscript中使用它发送电子邮件

Javascript 如何获取Google表单字段值并在Appscript中使用它发送电子邮件,javascript,google-apps-script,google-forms,Javascript,Google Apps Script,Google Forms,我想获取在名为“邮件列表””的谷歌表单下拉列表上设置的值 我要做的是向我选择的值发送一封自定义电子邮件 我的表格如下所示: 现在,一旦我选择了一个选项,我想向它发送一封电子邮件。以下是我在表单中的appscript代码: function sendEmail(e) { var html = HtmlService.createTemplateFromFile("email.html"); var htmlText = html.evaluate().getCo

我想获取在名为“邮件列表””的谷歌表单下拉列表上设置的值

我要做的是向我选择的值发送一封自定义电子邮件

我的表格如下所示:

现在,一旦我选择了一个选项,我想向它发送一封电子邮件。以下是我在表单中的appscript代码:

function sendEmail(e) {
  
  var html = HtmlService.createTemplateFromFile("email.html");
  var htmlText = html.evaluate().getContent();
  
  var emailTo = e.response.getRespondentEmail(); // how do I get the dropdown value here?
  Logger.log(emailTo)
  var subject = "sample subject";
  var textBody = "this is a body";
  var options = { htmlBody: htmlText };
  
  if(emailTo !== undefined){
    
    GmailApp.sendEmail(emailTo, subject, textBody, options)
  }
}
问题是如何将emailTo设置为我在下拉列表中选择的值?

我的电子表格如下所示:

values属性保存一个数组,其中
e.values[0]
是时间戳,e.values[1]是所选的下拉值

values属性保存所有提交的响应的数组,其中
e.values[0]
是时间戳,e.values[1]是所选的下拉值

说明: 假设
sendmail(e)
是表单提交中的
触发器,则您可以获得第一个响应项(在您的情况下,是电子邮件),如下所示:

var itemResponses = e.response.getItemResponses();
var email = itemResponses[0].getResponse();  // returns the email if given

解决方案: 说明: 假设
sendmail(e)
是表单提交中的
触发器,则您可以获得第一个响应项(在您的情况下,是电子邮件),如下所示:

var itemResponses = e.response.getItemResponses();
var email = itemResponses[0].getResponse();  // returns the email if given

解决方案:
我应该像这样使用var
emailTo=e.values[1]然后我得到这个错误类型错误:无法读取未定义的属性“1”,请在电子表格中而不是表单中使用它。注意:有两个onformsubmits是的,你必须为onformsubmits设置一个触发器,我应该像这样使用var
emailTo=e.values[1]然后我得到这个错误类型错误:无法读取未定义的属性“1”,请在电子表格中而不是表单中使用它。注意:有两个OnFormSubmits是的,您必须为onFormSubmit设置触发器
function sendEmail(e) {
  
  var html = HtmlService.createTemplateFromFile("email.html");
  var htmlText = html.evaluate().getContent();
  
  var itemResponses = e.response.getItemResponses();
  var emailTo = itemResponses[0].getResponse();  // returns the email if given

  var subject = "sample subject";
  var textBody = "this is a body";
  var options = { htmlBody: htmlText };
  
  if(emailTo !== undefined){
    
    GmailApp.sendEmail(emailTo, subject, textBody, options)
  }
}