用于表单的 Google Apps 脚本,生成唯一 ID 号

2023-12-19

我创建了一个简单的 Google 表单,其中包含以下字段:

姓名、电子邮件、工资和请求。

当用户完成表单后,我想向他/她发送一封包含信息的电子邮件。但是,我想使用“请求”字段插入一个唯一的号码,用户在需要进一步通信时可以参考该号码。如果用户在“请求”字段中输入任何内容,我想丢弃它并使用我生成的数字(在响应和电子表格中)。

我已经能够使用我找到的其他信息拼凑出脚本。它似乎适用于除了返回给用户的电子邮件响应之外的所有内容。-它不包含我想在“请求”字段中使用的号码,而是发回用户在“请求”字段中输入的任何输入。请求字段。电子表格看起来不错(“请求”字段中有我的号码。)

这是我的脚本:

function sendFormByEmail(e) {      
  var capsht = SpreadsheetApp.getActiveSheet();  
  var caprow =  SpreadsheetApp.getActiveSheet().getLastRow();  
  capsht.getRange(caprow,5).setValue("Cap-"+caprow);  

  var admin = "[email protected] /cdn-cgi/l/email-protection";  

  try {  

    var recipient = e.namedValues["Email"];  
    var subject = "Capacity Request Form Received";    

    var s = SpreadsheetApp.getActiveSheet();  
    var headers = s.getRange(1,1,1,s.getLastColumn()).getValues()[0];      
    var message = "";      

    for (var i in headers)  
      message += headers[i] + ' = '+ e.namedValues[headers[i]].toString() + "\n\n";   
      MailApp.sendEmail(recipient, subject, message);   

    }   

  catch (error) {  
    MailApp.sendEmail(admin, "Error with form submission response email", error.message);  
  }  

}

试试这样:

(在代码中添加注释并删除重复内容)

function sendFormByEmail(e)   
{      
var capsht = SpreadsheetApp.getActiveSheet();  
var caprow = capsht.getLastRow();  
var codenumber = "Cap-"+caprow
capsht.getRange(caprow,5).setValue(codenumber);  

var admin = "[email protected] /cdn-cgi/l/email-protection";  

try {  

var recipient = e.namedValues["Email"];  
var subject = "Capacity Request Form Received";    

var headers = capsht.getRange(1,1,1,capsht.getLastColumn()).getValues()[0];      
var message = "";      

for(var i in headers)  
if(i!=4){ 
message += headers[i] + ' = '+ e.namedValues[headers[i]].toString() + "\n\n";   
}else{  // if i==4 (column nr5)then use your code number
message += headers[i] + ' = '+ codenumber + "\n\n"; 
}
MailApp.sendEmail(recipient, subject, message);   

}   

catch (error)  
{  
MailApp.sendEmail(admin, "Error with form submission response email", error.message);  
}  

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于表单的 Google Apps 脚本,生成唯一 ID 号 的相关文章

  • 解决错误 413 请求实体太大

    我正在从事的项目允许我们的员工将大文件上传到我们的共享主机并获取下载链接 问题是我们的托管拒绝更改共享托管的 LimitRequestBody 还有其他解决方案可以解决 LimitRequestBody 或任何其他方法来完成这项工作吗 有两
  • 继续使用 sketch.js 编辑草图图像 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在使用 sketch js 中的示例 http intridea github io sketch js http intridea g
  • 录制视频和音频并上传到服务器

    我想为网站添加视频录制功能 我一直在搜索并尝试所有可能的可用解决方案 但还没有任何工作正常 我已经尝试过以下解决方案 WebRTC 我知道使用 WebRTC 我们可以从网络摄像头和麦克风获取流 我发现了很多关于相同内容的文章 但没有一篇解释
  • 差异:查看页面源代码与在 Firebug 中查看

    当我查看页面的页面源时 例如 http my sa ucsb edu public curriculum coursesearch aspx http my sa ucsb edu public curriculum coursesearc
  • 将字符串转换为整数数组

    我想转换以下字符串 14 2 到一个由两个整数组成的数组中 我该怎么做 现代浏览器的快速浏览器 14 2 split map Number 14 2
  • 如何禁用WebStorms未使用的功能颜色功能?

    我想知道是否有人知道如何禁用 WebStorm 中的功能 如果您创建一个函数但尚未调用它 颜色将保持绿色而不是灰色 我进入首选项区域并将全局函数颜色更改为绿色 但只有当我调用它们时它们才会变成绿色 对于任何未调用的函数将保持灰色 转到文件
  • JavaScript 承诺混乱

    我正在尝试理解 javascript Promise 的概念 但我遇到了一些问题 我在本地设置了一个非常小的Web服务 不要生气 该Web服务不符合约定 这里有一些关于它的细节 login
  • VueJS - 验证表单文件上传中的文件大小要求

    我正在使用 Bootstrap Vue 表单制作一个简单的表单 用户可以在其中上传文件 有没有办法验证使用 Vue 表单选择的文件的大小 我想阻止用户上传此类文件 我见过this https stackoverflow com questi
  • 使用 Javascript 在前端创建基本 URL(开发、API 和生产)

    无论开发和部署如何 如何制作适用于 http https localhost 端口和实际域的基本 url 我想创建一个可以在所有场景或条件下工作的基本 url 无论 http https 协议 端口 本地主机和实际域如何 无论是在开发中还是
  • tinyMCE - 将RemoveFormat限制为格式列表

    当前的tinyMCE版本 3 5 2 Hi 我正在开发一个自定义插件 可以添加和删除自定义格式 http www tinymce com tryit custom formats php 向当前选择添加格式很简单 但我做不到 找到删除多种格
  • Facebook Instant Game - 上传捆绑的 zip 文件会导致 Web 托管出现 SDK 参考错误

    当我尝试上传简单的游戏 应用程序时 我收到一条错误消息 游戏必须通过我们的 CDN 引用我们支持的 SDK 之一 不过我已经给出了 SDK 参考 难道不是这个吗 我也浏览了 facebook 文档的 SDK 参考 但它对我不起作用 有人以前
  • 如何在流星运行时编译新模板?

    如何使用 Handlebars js 在流星中运行时编译新模板 var source
  • 由于运行 Javascript,Firefox 选择下拉列表不断刷新/恢复为默认选项 - AngularJS

    我正在 AngularJS 中构建一个应用程序 但在使用 Firefox 时无法选择下拉菜单 当我单击选择菜单并将鼠标悬停在选项上时 它会将所选选项从光标悬停的选项重置为默认 第一个选项 当选项数量很大时 选择正确的选项变得非常困难 该应用
  • 正则表达式问题 - 在字符串中查找数字

    我目前正在使用 JavaScript 从字段中获取字符串 在该字段中通常会有 宽度 56 空隙 67 我需要做的是识别 1 440 范围内的两个数字 并将它们放入两个不同的字段中 字段 1 宽度 字段 2 无效 我已经研究过正则表达式 到目
  • java代码的等效vb代码

    谁能告诉我这段Java代码到底做了什么 SecureRandom random SecureRandom getInstance SHA1PRNG byte bytes new byte 20 synchronized random ran
  • firebase 返回 onSnapshot 承诺

    我正在使用 firebase firestore 并且正在寻找一种返回快照承诺的方法 onlineUsers i want to return onSnapshot return this status database ref where
  • 如何在 Yii 框架中使用 jQuery?

    如何在 yii 中使用 jquery javascript 如何在 yii 中使用我的脚本 为什么这与以其他方式使用 jQuery 有什么不同 如何在yii中使用jquery 如上所述 您可以注册新的脚本块 也可以注册新的外部脚本文件 您还
  • 垂直滚动,与 div/元素/锚点对齐/对齐

    我发现了一些可爱的网站 http www mini jp event campaign big point http www mini jp event campaign big point http www twenty8twelve c
  • 如何检查令牌过期和注销用户?

    当用户单击注销按钮时 他 她可以自己注销 但是如果令牌过期 他 她就无法注销 因为在我的应用程序中 令牌在服务器端和前端都使用 当用户单击注销按钮时 如果令牌有效 则服务器和浏览器中的令牌都会被清除 当用户未注销并且他 她的令牌过期但未在浏
  • AngularJS 中的全局模拟对象用于 jasmine/karma 测试

    我有一个正在模拟进行单元测试的对象 基本上在我的测试文件中 我将其模拟如下 var mockObject mockMethod1 function return true mockMethod2 function return true b

随机推荐