我正在尝试获取所选的单选按钮并通过html服务将其推送到另一个脚本。但是我不知道如何在谷歌脚本中按下选定的单选按钮。
的index.html
<div>
<?
var attrs = getAllDrawings();
for(i=0; i<attrs.length;i++){
?>
<INPUT TYPE="Radio" Name="Drawing" Value= "<?= attrs[i] ?> "> <?= attrs[i] ?> <br>
<? } ?>
<input type="submit" value="submit"
onclick="google.script.run.getDrawing(result)" />
<input type="button" value="Close"
onclick="google.script.host.close()" />
</div>
我在google.script.run.getDrawing(result)
中使用什么代替结果,以便我可以根据它运行一个功能
function getDrawing(e) {
Logger.log(e);
}
我正在创建一个包含文件夹中文件列表的html模板。然后用户选择所需的文件,我需要将该文件的URL返回给用户。但是我不知道如何返回用户选择的文件。
所以我需要获得所选的单选按钮值。例如,如果无线电是 Spreadsheet1 , Spreadsheet2 , Spreadsheet3 和 Spreadsheet4 和 3rd 已选择 Spreadsheet3 如何运行getDrawing("Spreadsheet3")
。
Mu问题与此SO problem类似,但我使用的是HTML而不是UIApp。
修改
我打电话给 Index.html
function demoHtmlServices() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var html = HtmlService.createTemplateFromFile('Index').evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME);
ss.show(html);
}
答案 0 :(得分:1)
为了获取表单(html模板)响应,您可以使用withSuccessHandler(function)并以这种方式传递表单值:
<input type="button" value="Submit"
onClick="google.script.run.withSuccessHandler(DataSaved).processForm(this.form)"/>
DataSaved是一个显示成功消息的脚本函数。 processForm也是一个用于处理表单响应的Apps脚本函数。您可以查看此page和此page,详细了解如何实现此目标。希望有所帮助!
答案 1 :(得分:1)
您可以通过HTML访问单选按钮(或任何其他input
元素)的结果,而无需编写任何其他Google Apps脚本代码。您需要在命名元素中包含元素,然后可以从document
开始导航到它们。例如,document.drawings.Drawing.value
将显示Drawing
表单的drawings
单选按钮的值。
您可以将submit
按钮放在包含您要访问的form
元素的input
元素之外。
<form id="drawings" name="drawings">
<?
var attrs = getAllDrawings();
for(i=0; i<attrs.length;i++){
?>
<input type="radio" name="Drawing" value= "<?= attrs[i] ?>"> <?= attrs[i] ?> <br>
<? } ?>
</form>
<input type="submit" value="submit"
onclick="google.script.run.getDrawing(document.drawings.Drawing.value)" />
<input type="button" value="Close"
onclick="google.script.host.close()" />