[英]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.