【发布时间】:2018-08-17 08:30:17
【问题描述】:
我正在尝试使用带有表单的侧边栏来获取用户输入。该代码已绑定到 Google 表格文件。
代码.gs:
function onOpen() {
SpreadsheetApp.getUi()
.createMenu('Custom Menu')
.addItem('Show sidebar', 'showSidebar')
.addToUi();
}
function showSidebar() {
var html = HtmlService.createHtmlOutputFromFile('Page')
.setTitle('My custom sidebar')
.setWidth(300);
SpreadsheetApp.getUi()
.showSidebar(html);
}
function processForm(formObject) {
var ui = SpreadsheetApp.getUi();
ui.alert("This should show the values submitted.");
}
页面.html:
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
Please fill in the form below.<br><br>
<form id="myForm" onsubmit="google.script.run.processForm(this)">
First name:
<input type="text" name="firstname"><br><br>
Last name:
<input type="text" name="lastname"><br><br>
Gender:<br>
<input type="radio" name="gender" value="male" checked> Male<br>
<input type="radio" name="gender" value="female"> Female<br>
<input type="radio" name="gender" value="other"> Other<br>
<br>
<input type="submit" value="Submit">
</form><br>
<input type="button" value="Cancel" onclick="google.script.host.close()" />
</body>
</html>
当我按下“提交”时,警报会打开并显示给定的消息,并且我的浏览器会打开一个显示空白页面的 url
(https://n-ms22tssp5ubsirhhfqrplmp6jt3yg2zmob5vdaq-0lu-script.googleusercontent.com/userCodeAppPanel?firstname=&lastname=&gender=male)。
我希望警报显示提交的值,并且我不希望打开额外的页面。
非常简单的问题,但我读到的所有内容似乎都过于复杂。我只想知道获取用户输入的最简单方法。
【问题讨论】:
-
使用
formObject?Logger.log(formObject)inprocessForm应该让你开始。
标签: javascript forms google-apps-script submit user-input