获取所选单选按钮Google Html Service的价值

时间:2015-07-28 09:33:54

标签: google-apps-script google-sheets

我正在尝试获取所选的单选按钮并通过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);
}

2 个答案:

答案 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()" />