从Google表单填充HTML表单
Populate HTML form from Google Sheets
我是相当新的这一切,但我希望填充一个应用程序脚本Web应用程序HTML下拉表单条目直接从谷歌电子表格的名称。到目前为止,我已经能够从电子表格的A列返回一个名称数组。同样,JS的"Populates Form"部分也成功地填充了HTML表单。
我的问题是如何将两者连接起来?我试过用函数getColleagueList()替换JS后部分的硬编码数组,以及删除函数,只留下变量和表单仍然没有填充。我觉得这是一个简单的解决方案,但不知道该怎么做。提前谢谢。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<select id="selectColleague">
<option disabled selected value="">
Reviewer's Name
</option>
</select>
<script type="text/javascript">
//Gets Names
function getColleagueList() {
var s1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Roster Import');
var range = s1.getRange(2, 1,s1.getLastRow()-1, 1).getValues();
return range;
}
//Populates Form
var select = document.getElementById("selectColleague");
var options = ["1", "2", "3", "4", "5"];
for(var i = 0; i < options.length; i++) {
var opt = options[i];
var el = document.createElement("option");
el.textContent = opt;
el.value = opt;
select.appendChild(el);
}
</script>
getColleagueList()应该是一个服务器端函数。你可以把它放在代码里。gs文件。然后从JavaScript调用服务器端函数,如下所示:您可以在这里了解更多信息:https://developers.google.com/apps-script/guides/html/communication
<script>
function onSuccess(values) {
var select = document.getElementById("selectColleague");
var options = values[0]; //Two dimensional array
for(var i = 0; i < options.length; i++) {
var opt = options[i];
var el = document.createElement("option");
el.textContent = opt;
el.value = opt;
select.appendChild(el);
}
}
google.script.run.withSuccessHandler(onSuccess)
.getColleagueList();
</script>
@HariDas用后端.gs代码给出了一个很好的答案,一切都工作得很好。你的web应用程序代码也很好,只是有一点改变要做:
var options = values[0];
//change it to:
var options = values;
This现在将循环遍历数组并给出如下所示的所有结果:Web应用程序
希望有帮助:)好运!
相关文章:
- 使用 AngularJS Http Post 将表单 html 中的数据发布到服务器
- 如何使用js框架验证Laravel 4表单(html)
- 在表单html上编程php和警告javascript
- 联系表单-Html和Javascript只包含在Html(tumblr)中
- javascript表单(html网页)名称字段的验证
- Javascript多维数组表单html列表
- 单选按钮上的无提示验证被忽略,而它只适用于相同表单html中的文本字段
- 从表单html中检索数据
- 刷新页面后是否可以保留表单(html)内容数据
- 部分表单HTML未加载
- 控制器和输入表单html使用var Javascript
- 获取表单html及其值
- 如何使表单(html、jsp)中的Textfield只接受dd/mm/yyyy格式,而无需单击提交按钮
- 提交隐藏的表单HTML
- 信用卡表单html值长度
- PHP表单HTML按钮
- 简单的方式来改变输入字段的视觉顺序动态(不改变表单HTML)
- 表单HTML没有更新
- 制作一个不序列化javascript的一对多表单html
- 搜索parse.com数据表单html输入