我查看了有关此主题的类似问题,但仍然无法完全理解如何获取以 HTML 创建的表单输入的数据。
这是我想做的事情:
- 创建表单(通过 HTML)
- 在提交表单时,输入的数据用于替换现有 Google 文档模板中的适当占位符键。
- 通过电子邮件将替换文本的新文档发送给用户。
我按照本教程进行操作,并且能够使其正常工作。问题是 UI(电子表格)不是我想要的。我想要一个 HTML 格式的表单,但无法从中正确提取数据。
这是我使用电子表格创建的示例脚本。
var docTemplate = "1234567890"; // Template ID
var docName = "FinalDocument"; // Name of the document to be created
// When form gets submitted
function onFormSubmit(e) {
// Get information from form and set as variables
var email_address = e.values[1];
var full_name = e.values[2];
// Get document template, copy it and save the new document's id
var copyId = DocsList.getFileById(docTemplate)
.makeCopy(docName+' for '+full_name)
.getId();
// Open the temporary document
var copyDoc = DocumentApp.openById(copyId);
// Get the document's body section
var copyBody = copyDoc.getActiveSection();
// Replace place holder keys,in our google doc template
copyBody.replaceText('keyEmailAddress', email_address);
copyBody.replaceText('keyFullName', full_name);
// Save and close the temporary document
copyDoc.saveAndClose();
// Convert temporary document to PDF by using the getAs blob conversion
var pdf = DocsList.getFileById(copyId).getAs("application/pdf");
// Attach PDF and send the email
var subject = "Final Document";
var body = "Here is the form for " + full_name + "";
MailApp.sendEmail(email_address, subject, body, {htmlBody: body, attachments: pdf});
// Delete temporary file
DocsList.getFileById(copyId).setTrashed(true);
}
这是我刚刚创建的使用 HTML 的新表单。
<html>
<form id="myForm">
<input name="fullName" id="_fullName">
<input name="emailAddress" id="emailAddress">
<input type="button" id="submit" value="submit" onclick = "sendData()">
</form>
<script>
function sendData() {
google.script.run.processForm(document.getElementById("myForm"));
}
</script>
</html>
有人可以帮助我开始如何从使用电子表格表单过渡到 HTML 表单吗?如何从 HTML 表单中提取数据?