如何在Google应用脚本中传递/获取html表单中的数据? 我尝试了很多次,但仍然无法获得正确的代码。我希望有人可以帮我解决这个问题。
Code.gs
function doGet(e) {
return HtmlService.createHtmlOutputFromFile('Index');
}
function getValuesFromForm(form) {
var firstname = form.lastname,
lastname = form.firstname,
ss = SpreadsheetApp.openById('1XvrQFzVTlCqtB6HGggeGKraaLrd_8wdw6rAGVNVxYC0');
var sheet = ss.getSheets()[0];
sheet.appendRow([firstname, lastname]);
}
的index.html
<form>
First name: <input id="firstname" name="firstName" type="text" />
Last name: <input id="lastname" name="lastName" type="text" />
<input onclick="google.script.run.getValuesFromForm(this.form)" type="button" value="Add Row" />
</form>
答案 0 :(得分:1)
两件事:
我们必须通过父母,以便我们可以访问它的孩子。 this.form将不发送任何内容[我猜]因为这个[输入按钮]没有表格子。相反,您应该发送表单[使用parentNode或getElement()]
我们必须使用字段name
而不是id
[目前您正在使用ID,交叉检查,请参阅大写字母]
所以你有两个选择:
<form id='myForm'>
First name: <input id="firstname" name="firstname" type="text" /> Last name: <input id="lastname" name="lastname" type="text" />
<input onclick="google.script.run.getValuesFromForm(document.getElementById('myForm'))" type="button" value="Add Row" />
</form>
&#13;
或强>
在form.firstName
[而不是form.lastName
和code.gs
]
form.firstname
和form.lastname