限制编辑表单响应时更改随机生成的代码

时间:2018-06-22 23:53:24

标签: google-apps-script

我正在if(DB::table('table_name') ->where('user', $user) ->whereNotNull('token') ->exists()){ do something } 上生成参考号,并使用以下代码将其发送到表单上提交者提供的电子邮件地址。

onFormSubmit(e)

所有这些都很好。编辑表单时会出现问题。仍将其视为“ formSubmit”并生成新的参考代码。

我想在表单提交时保持参考代码不变。

我没有运气尝试过function onFormSubmit(e) { //generate a 8 digit alphanumeric number var unique_id = ""; var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; for (var i = 0; i < 8; i++) unique_id += possible.charAt(Math.floor(Math.random() * possible.length)); //get form var form = FormApp.openById('1cE2COec2O7v-wpOI1GgTp8NnZRo8trePkmnqHPBGbCyw'); //get spreadsheet var spreadsheetname = SpreadsheetApp.openById('1Uk3yGEWeAKh9rAzLsnej1dg3bIddf9b3-R922u5OUNNs') //get last row var row = spreadsheetname.getActiveSheet().getLastRow(); //get email column var column = spreadsheetname.getRange('B'+(row)); //capture email var email = column.getValue() //set unique_id spreadsheetname.getRange('J' + (row)).getCell(1,1).setValue(unique_id).setFontStyle('italic') //send email var sendemail = MailApp.sendEmail(email, 'Worker Proposal Reference Number', 'Thank you for sumbmitting your worker proposal. Your worker proposal reference number is ' + unique_id + '. Mention this reference number for making amendments to your worker proposal') } 。任何帮助,将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

每个表单响应都具有唯一的ID。假设此onFormSubmit(e)触发器是绑定到表单(而不是电子表格)的脚本的功能,则可以从传递给onFormSubmit(e)函数的事件对象中提取表单响应ID。

Here's a description of the event object's parameters

因此,您可以使用表单响应ID而不是自己生成一个。参见下面的代码段:

function onFormSubmit(e) {
    var uniqueId = e.response.getId();

    // do your other stuff
}