Google Apps 脚本 - 将边栏中的用户输入写入电子表格
Google Apps Scripts - Write User Inputs from SideBar to spreadsheet
我在带有一些输入字段的电子表格中有一个边栏。
我遇到的问题是检索用户的响应以放入电子表格。
我在我的 HTML 表单中使用 action
属性,使用以下 HTML:
<form action="demo_form.asp">
Run Number: <input type="text" name = "number"><br>
<input type="submit" value="Submit" >
</form>
如何在用户点击提交后从 "number" 中提取内容以便将其粘贴到电子表格中。
您必须使用 google.script.run
客户端 API。那是技术术语。您不能像使用 "Copy" 和 "Paste".
一样,将 HTML 中的值 "paste" 放入电子表格
您需要从 <form action="demo_form.asp">
标签中删除 action
属性。这可能会导致问题。
并且不要使用 submit
类型的输入标签。 <input type="submit" value="Submit" >
具有 "submit" 的表单中的典型 HTML 行为会导致发出 HTTPS 请求,这不是您想要的。您需要检索一个或多个值或整个表单,然后将这些值发送到服务器。
即使值从 "client side" 发送到服务器,并写入电子表格数据,它也会自动显示在电子表格中。因此,这并不是将侧边栏中的数据直接插入到电子表格中。它从边栏到服务器,保存到您云端硬盘中的电子表格数据,然后显示在您的浏览器中的电子表格中。
如果将表单对象发送到服务器,则不能发送任何其他内容。如果您向服务器发送单个值,则可以发送多个参数。另一种选择是将对象转换为字符串,(JSON.parse(object)) 并将字符串发送到服务器。
Link to google.script.run documentation
<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>
gs码
function myServerFunctionName(argForm) {
var valueFromFormObj = argForm.nameAttributeName;
var ss= SpreadsheetApp.
var sh = ss.getSheetByName();
var rng = sh.getRange();
rng.setValue(valueFromFormObj );
}
我在带有一些输入字段的电子表格中有一个边栏。 我遇到的问题是检索用户的响应以放入电子表格。
我在我的 HTML 表单中使用 action
属性,使用以下 HTML:
<form action="demo_form.asp">
Run Number: <input type="text" name = "number"><br>
<input type="submit" value="Submit" >
</form>
如何在用户点击提交后从 "number" 中提取内容以便将其粘贴到电子表格中。
您必须使用 google.script.run
客户端 API。那是技术术语。您不能像使用 "Copy" 和 "Paste".
您需要从 <form action="demo_form.asp">
标签中删除 action
属性。这可能会导致问题。
并且不要使用 submit
类型的输入标签。 <input type="submit" value="Submit" >
具有 "submit" 的表单中的典型 HTML 行为会导致发出 HTTPS 请求,这不是您想要的。您需要检索一个或多个值或整个表单,然后将这些值发送到服务器。
即使值从 "client side" 发送到服务器,并写入电子表格数据,它也会自动显示在电子表格中。因此,这并不是将侧边栏中的数据直接插入到电子表格中。它从边栏到服务器,保存到您云端硬盘中的电子表格数据,然后显示在您的浏览器中的电子表格中。
如果将表单对象发送到服务器,则不能发送任何其他内容。如果您向服务器发送单个值,则可以发送多个参数。另一种选择是将对象转换为字符串,(JSON.parse(object)) 并将字符串发送到服务器。
Link to google.script.run documentation
<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>
gs码
function myServerFunctionName(argForm) {
var valueFromFormObj = argForm.nameAttributeName;
var ss= SpreadsheetApp.
var sh = ss.getSheetByName();
var rng = sh.getRange();
rng.setValue(valueFromFormObj );
}