2015-07-28 76 views
1

我想获得选定的单选按钮,并通过HTML服务推入到另一个脚本。不过,我不知道如何推动谷歌脚本中选定的单选按钮。获取所选单选按钮的价值谷歌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返回给用户。但是我不知道如何返回用户选择的文件。 所以我需要获得选定的单选按钮值。例如,如果无线电设备是Spreadsheet1Spreadsheet2Spreadsheet3Spreadsheet4第三一个选择了哪个是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); 
} 

回答

1

您可以通过HTML访问单选按钮(或任何其他input元素)的结果,而无需编写任何其他Google Apps脚本代码。您需要将元素放入指定元素中,然后才能从document开始导航到它们。例如,document.drawings.Drawing.value将显示drawings表单的Drawing单选按钮的值。

您可以将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()" /> 
+0

谢谢,这似乎更有效率。 –

1

为了获取表单(HTML模板)的反应,可以使用withSuccessHandler(function),并通过形式值如下:

<input type="button" value="Submit" 
onClick="google.script.run.withSuccessHandler(DataSaved).processForm(this.form)"/> 

DataSaved是一个脚本函数来显示一个成功的消息。此外processForm是一个应用程序脚本函数来处理表单响应。你可以检查这page和这page欲了解更多细节,你可以实现这一点。希望有所帮助!

+0

谢谢,这正是我正在寻找的 –