解析表单提交与谷歌应用程序脚本
Parse Form Submission with Google Apps Script
我有一个Google电子表格,它加载了一个带有HTML表单的边栏。该表单的代码如下:
<script>
function handleFormSubmit(formObject) {
google.script.run.processForm(formObject);
}
</script>
<form id="myForm" onsubmit="handleFormSubmit(this)">
PO#: <input type="text" name="po" required><br/>
Invoice#: <input type="text" name="invoice" required><br/>
<input type="submit" value="Submit" />
</form>
<div id="output"></div>
它与以下脚本一起工作:
function processForm(form) {
var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName('Sheet5');
var lr = sheet.getLastRow();
var range = sheet.getRange(lr+1,1,1,1);
range.setValue(form);
Logger.log(form);
}
目前我得到{invoice=####, po=####}
作为结果。如何解析(如果这是正确的术语)表单提交,以便每个响应可以转到不同的单元格?有没有办法把它变成一个数组?
谢谢
不完全确定你想在这里做什么,但我不认为你可以转移一个dom对象到谷歌应用程序脚本。你可以这样写:
<script>
function handleFormSubmit(formObject) {
google.script.run.processForm({
po: formObject.getElementById("po").value,
invoice: formObject.getElementById("invoice").value
});
}
</script>
<form id="myForm" onsubmit="handleFormSubmit(this)">
PO#: <input type="text" name="po" id="po" required><br/>
Invoice#: <input type="text" name="invoice" id="invoice" required><br/>
<input type="submit" value="Submit" />
</form>
<div id="output"></div>
然后在你的Google Apps脚本中,使用
来获取输入的值form.po
和
form.invoice
使用google.script.run.processForm()将表单传递回服务器。而不是使用获取最后一行,并添加+1,只是简单地使用appendRow()函数。
function processForm(form) {
var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName('Sheet5');
sheet.appendRow(form) //accepts an array [val1,val2,val3]
}
相关文章:
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 使用谷歌应用程序脚本从工作表中获取值并将其显示在文本框中
- 需要使用谷歌应用程序脚本列出谷歌域下的所有网站
- 从应用程序脚本检查谷歌网站访问权限
- 在谷歌应用程序脚本中转换为空格的制表符
- 如何通过谷歌应用程序脚本从谷歌文档中的位置确定命名范围
- 仅为一个窗体运行应用程序脚本
- 谷歌应用程序脚本示例-如何更改单选按钮的列表框相关值
- 使用谷歌应用程序脚本制作基于谷歌电子表格的带有列表框的网络应用程序
- 应用程序脚本中导入HTML的数据擦除;谷歌表格
- JavaScript onScroll在谷歌应用程序脚本web应用程序中不起作用
- getRange(单元格)在谷歌应用程序脚本中不起作用
- 如何打开文件对象(HTML)并在谷歌应用程序脚本中解析它
- 谷歌应用程序脚本html服务和加载谷歌地图javascript api V3
- 如何使用谷歌应用程序脚本从电子邮件中提取内联文件/图像
- 谷歌应用程序脚本-onFormSubmit-复制到电子表格中的单元格
- 在谷歌应用程序脚本中,如何在满足条件的情况下只发送一次电子邮件
- 若语句出错,谷歌应用程序脚本
- 如何将数组(Google应用程序脚本)返回到HTML侧边栏
- 应用程序脚本-拆分谷歌表单复选框用逗号回答