2015-07-28 81 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

謝謝,這正是我正在尋找的 –