Javascript 如何获取Google表单字段值并在Appscript中使用它发送电子邮件
我想获取在名为“邮件列表””的谷歌表单下拉列表上设置的值 我要做的是向我选择的值发送一封自定义电子邮件 我的表格如下所示: 现在,一旦我选择了一个选项,我想向它发送一封电子邮件。以下是我在表单中的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
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
解决方案:
我应该像这样使用varemailTo=e.values[1]代码>然后我得到这个错误类型错误:无法读取未定义的属性“1”,请在电子表格中而不是表单中使用它。注意:有两个onformsubmits是的,你必须为onformsubmits设置一个触发器,我应该像这样使用varemailTo=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)
}
}