我在這方面遇到了困難......我閱讀了文檔,但無法完成此操作。將側邊欄的html表單傳遞給Google腳本
我想在Google文檔的側欄中創建一個小的html表單。 此表單將從聯繫人中提取聯繫人組,以便用戶可以選擇一個並將t傳遞給我的腳本。
這是我做了什麼:
page.html中
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body>
Hello, world! <input type="button" value="Close" onclick="google.script.host.close()" />
</body>
</html>
menu.gs
function doGet() {
return HtmlService
.createTemplateFromFile('Page')
.evaluate();
}
function onOpen() {
DocumentApp.getUi() // Or DocumentApp or FormApp.
.createMenu('Custom Menu')
.addItem('Show sidebar', 'showSidebar')
.addToUi();
}
function showSidebar() {
var html = HtmlService.createHtmlOutputFromFile('Page')
.setTitle('Chose the Contact Group')
.setWidth(300);
var groups = ContactsApp.getContactGroups();
// add this to the html file Page.html
html.append ('<form onsubmit="google.script.run.myFunction(formObject)">'+
'<select>');
for (var i = 0; i < groups.length; i++) {
html.append('<option name="chosenGroup" value="' + groups[i].getName() + '">' + groups[i].getName() + '</option>');
}
html.append('</select><input type="submit">');
//this is commented because I was testing it
//html.append("<script>function handleFormSubmit(formObject) { google.script.run.myFunction(formObject); } </script>");
DocumentApp.getUi() // Or DocumentApp or FormApp.
.showSidebar(html);
}
Code.gs
myFunction (formObject) {
Logger.log(formObject.chosenGroup);
}
當我點擊提交按鈕一個新的空白頁面打開一個url like:
https://n-wuewuewuee98efgdsf98769s8d76f9s76df-0lu-script.googleusercontent.com/userCodeAppPanel?
謝謝安東,它工作,但我不能'理解爲什麼我們需要jQuery在這裏,是不可能添加「google.script.run.processFormResponse(this);」在onlick?但也許我誤解了這個頁面:https://developers.google.com/apps-script/guides/html/communication#forms(用於網絡應用程序,而不是形式綁定腳本,對吧?) – Kintaro
請參閱更新的答案。 –