【发布时间】:2021-03-07 21:14:43
【问题描述】:
我正在尝试制作一个表格来从网络上获取数据,情况是我有这样的但它没有收集任何数据我不知道我是否有问题。
这将是 code.gs 文件:
function doGet(e) {
return HtmlService.createTemplateFromFile('Index')
.evaluate()
.setTitle('Test');
}
function userClicked(userInfo) {
Logger.log(userInfo.firstname);
Logger.log(userInfo.lastname);
Logger.log(userInfo.app);
}
function include(File) {
let html = HtmlService.createTemplateFromFile(File).getContent();
return html;
}
这是 IndexJS.html:
<script>
document.getElementById('btn').addEventListene('click', function( event ) {
let userInfo = {};
event.preventDefault();
userInfo.firstName = document.getElementById('fn').value;
userInfo.lastname = document.getElementById('ln').value;
userInfo.app = document.getElementById('app').value;
google.script.run.userClicked( userInfo );
});
</script>
这就是表单,Index.html:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<?!= include("IndexCSS")?>
</head>
<body>
<h1>Hola</h1>
<form>
<div class="form-row">
<label>FirstName:</label><input type="text" id="fn">
</div>
<div class="form-row">
<label>LastName:</label><input type="text" id="ln">
</div>
<div class="form-row">
<label>Apps:</label>
<select id="app">
<option>Google Sheet</option> <option>Excel</option> <option>Numbers</option>
</select>
</div>
<div class="form-row"> <button id="btn">Send</button> </div>
</form>
<?!=include("IndexJS")?>
</body>
</html>
我无法在执行历史中获取任何数据
【问题讨论】:
-
您是否在 Web 浏览器开发者工具中收到错误消息?
-
ddEventListene拼写错误 -
如果你给所有的输入赋予 name 属性,然后将 this.parentNode 传递给函数,那么所有的名字都会成为传递给函数的对象的属性。
标签: javascript html forms google-apps-script web-applications