[英]Google Apps Script - Using Sidebar form to append a row to spreadsheet
[英]Google Apps Scripts - Write User Inputs from SideBar to spreadsheet
我在带有一些输入字段的电子表格中有一个侧边栏。 我遇到的麻烦是检索用户的响应以放入电子表格。
我使用以下 HTML 在我的 HTML 表单中使用action
属性:
<form action="demo_form.asp">
Run Number: <input type="text" name = "number"><br>
<input type="submit" value="Submit" >
</form>
在用户单击提交以将其粘贴到电子表格中后,如何从“数字”中提取内容。
您必须使用google.script.run
客户端 API。 这是技术术语。 您不能像使用“复制”和“粘贴”一样将 HTML 中的值“粘贴”到电子表格中。
您需要从<form action="demo_form.asp">
标记中删除action
属性。 这可能会导致问题。
并且不要使用submit
类型的输入标签。 <input type="submit" value="Submit" >
带有“提交”的表单中的典型 HTML 行为会导致发出 HTTPS 请求,这不是您想要的。 您需要检索一个或多个值或整个表单,然后将这些值发送到服务器。
即使值从“客户端”发送到服务器,并写入电子表格数据,它也会自动显示在电子表格中。 因此,这不是将侧边栏中的数据直接插入电子表格。 它从侧边栏转到服务器,保存到云端硬盘中的电子表格数据中,然后显示在浏览器中的电子表格中。
如果将表单对象发送到服务器,则不能发送任何其他内容。 如果将单个值发送到服务器,则可以发送多个参数。 另一种选择是将对象转换为字符串 (JSON.parse(object)) 并将字符串发送到服务器。
<form id="myForm">
<input type="button" value="Submit" onmouseup="writeData()">
<script>
window.writeData = function() {
var formObj = document.getElementById('myForm');
google.script.run
myServerFunctionName(formObj);
};
</script>
function myServerFunctionName(argForm) {
var valueFromFormObj = argForm.nameAttributeName;
var ss= SpreadsheetApp.
var sh = ss.getSheetByName();
var rng = sh.getRange();
rng.setValue(valueFromFormObj );
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.