Это работает:
Проблема была в том, что ваш javascript был не в том месте. Он пришел скорее за телом, чем за телом. Я просто переместил тег </body>
, и теперь он работает нормально.
function showMyDiaog() {
const html='<!DOCTYPE html><html> <head> <base target="_top"> </head> <body> <input type="text" id="username"> <button id="btn">Submit</button> <script> document.getElementById("btn").addEventListener("click",doStuff); function doStuff() { var uname = document.getElementById("username").value; google.script.run.userClicked(uname); document.getElementById("username").value=""; } </script></body></html>';
SpreadsheetApp.getUi().showModelessDialog(HtmlService.createHtmlOutput(html), "Test")
}
function userClicked(name){
Logger.log(name);
}
function doGet(e) {
Logger.log(JSON.stringify(e));
const html='<!DOCTYPE html><html> <head> <base target="_top"> </head> <body> <input type="text" id="username"> <button id="btn">Submit</button> <script> document.getElementById("btn").addEventListener("click",doStuff); function doStuff() { var uname = document.getElementById("username").value; google.script.run.userClicked(uname); document.getElementById("username").value=""; } </script></body></html>';
return HtmlService.createHtmlOutput(html);
}