gpt4 book ai didi

javascript - 谷歌应用程序脚本 : html - form submit, 获取输入值

转载 作者:搜寻专家 更新时间:2023-11-01 05:03:27 26 4
gpt4 key购买 nike

我正在尝试使用带有表单的边栏来获取用户输入。代码绑定(bind)到 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>

当我按下“提交”时,警报打开并显示给定的消息,我的浏览器打开一个显示空白页面的网址(https://n-ms22tssp5ubsirhhfqrplmp6jt3yg2zmob5vdaq-0lu-script.googleusercontent.com/userCodeAppPanel?firstname=&lastname=&gender=male)。我希望警报显示提交的值,但我不想打开额外的页面。

很简单的问题,但我读到的一切似乎都太复杂了。我只想知道获取用户输入的最简单方法。

最佳答案

Html 表单具有导航到提交链接的默认行为。要防止这种默认行为,您可以在 HTML 中使用 event.preventDefault() 函数,如下所示:

 <form id="myForm" onsubmit="event.preventDefault(); google.script.run.processForm(this)">

注意:您可以找到更详细的解释here

表单元素作为对象发送到 processForm 函数的参数中,要查看它们,您可以使用 JSON.stringfy() .了解有关对象的更多信息 here

您的 processForm 函数将像这样修改:

function processForm(formObject) {
var ui = SpreadsheetApp.getUi();
ui.alert(JSON.stringify(formObject))
// To access individual values, you would do the following
var firstName = formObject.firstname
//based on name ="firstname" in <input type="text" name="firstname">
// Similarly
var lastName = formObject.lastname
var gender = formObject.gender
ui.alert (firstName+";"+lastName+";"+gender)
}

关于javascript - 谷歌应用程序脚本 : html - form submit, 获取输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49182394/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com