![](/img/trans.png)
[英]How to load javascript from external source and execute it in Google Apps Script
[英]How to getElementById in Google Apps Script from external Html file?
我正在尝试将我的 Html 表单插入 Google Apps 脚本以自动发送电子邮件通知,但也在电子邮件正文中包含表单输入。 示例:我的网站上有一个带有“姓名”和“电子邮件”输入的表单。 一位访问者访问我的网站并填写表格。 当访问者点击“提交”按钮时,输入中填写的任何内容都会被存储并发送到 Google Apps 脚本。 然后在向我发送电子邮件的 Google Apps 脚本上运行一个函数。 电子邮件的正文具有“姓名”和“电子邮件”输入数据。 这是梦想,这是现实!:
Code.gs(Google Apps 脚本):
//EMAIL NOTIFICATION function sendNotification(e) { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); var range = sheet.getActiveRange().getA1Notation(); var recipients = "myemail@gmail.com"; var message = ''; function createSpreadsheetChangeTrigger() { var ss = SpreadsheetApp.getActive(); ScriptApp.newTrigger('onFormSubmit') .forSpreadsheet(ss) .onFormSubmit() .create(); } var subject = 'Client Lead Notification'; var body = 'You have a new client submission on your Google Sheets spreadsheet' + ss.getUrl(); MailApp.sendEmail(recipients, subject, body); };
Html(外部):
<input id="inputTest" > <button onclick="storeInputData()">Send</button> <script> function storeInputData() { var inputData = document.getElementById("inputTest").value; document.write("This is " + inputData); } </script>
我的问题是,如何在 Google Apps Script 中以与在 Html (storeInputData) 中相同的方式获取 ElementById?
Apps Script Web Apps 具有允许客户端 HTML/Javascript 文件和服务器端 Apps 脚本文件之间通信的方法。
您特别感兴趣的是google.script.run
,它允许您将 HTML 元素值传递给 Apps 脚本函数,示例:
索引.html
...
<input id="inputTest" >
<button onclick="storeInputData()">Send</button>
<script>
function storeInputData()
{
var inputData = document.getElementById("inputTest").value;
google.script.run.passInputData(inputData);
}
</script>
...
代码.gs
function doGet() {
return HtmlService.createHtmlOutputFromFile('Index');
}
function passInputData(value) {
Logger.log(value);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.