【发布时间】:2021-03-12 22:38:01
【问题描述】:
我按照本教程进行操作,https://www.youtube.com/watch?v=yZNPkcT4PKA&t=3s 尝试在 google 电子表格上创建表单。
我按照所有步骤操作,表单加载脚本工作正常,表单正文显示正常,但提交后的表单数据未按预期显示在电子表格上。
我一定是漏掉了什么,但是我把教程看了好几遍,还是搞不明白
所以这里是html代码:
(表单代码取自bootsrap)
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css" integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous">
<div>
<div class="form-group">
<label for="item-name">Item Name</label>
<input type="text" class="form-control" id="item-name">
</div>
<div class="form-group">
<label for="qty-recieved">Quantity Recieved</label>
<input type="text" class="form-control" id="qty-recieved">
</div>
<button type="submit" class="btn btn-primary" id="mainButton">Submit</button>
</div>
<!-- Optional JavaScript; choose one of the two! -->
<!-- Option 1: jQuery and Bootstrap Bundle (includes Popper) -->
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns" crossorigin="anonymous"></script>
<!-- Option 2: Separate Popper and Bootstrap JS -->
<!--
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.min.js" integrity="sha384-+YQ4JLhjyBLPDQt//I+STsc9iw4uQqACwlvpslubQzn4u2UU2UFM80nGisd026JF" crossorigin="anonymous"></script>
-->
<script>
function afterButtonClicked(){
var item = document.getElementById("item-name");
var qty = document.getElementById("qty-recieved");
var rowData (item: item.value, qty: qty.value);
google.script.run.addNewRow(rowData);
}
document.getElementById("mainButton").addEventListener("click",addRow);
</script>
</body>
</html>
和addNewRow(rowData) 脚本:(在单独的脚本文件中)
我确实确保工作表名称是“track”
function addNewRow(rowData) {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const ws = ss.getSheetByName("track");
ws.appendRow([rowData.item, rowData.qty]);
}
已编辑
所以我终于弄清楚出了什么问题——我用于电子表格的谷歌账户与在谷歌 chrome 浏览器上登录的 gogole 账户不匹配。
这就是为什么表单提交没有通过
希望对某人有所帮助..
【问题讨论】:
-
欢迎来到Stack Overflow。您的 HTML 格式错误,head 标签未关闭,并且 body 标签未打开,如果在 Google Apps 脚本执行日志中的 Web 浏览器控制台中记录了任何文本错误消息,则应包含文本错误消息。
-
哎呀.. 抱歉。如何包含控制台错误?
-
您能否记录您在
rowData中获取的内容以查看rowData.item是否存在?
标签: html google-apps-script google-sheets web-applications