Я использую форму HTML для отображения диалогового окна в электронной таблице Google, собираю два фрагмента информации и затем запускаю некоторый скрипт Google.Перед запуском этого сценария я изменяю сообщение в диалоговом окне на «Рабочий ...».Когда сценарий завершится, я хочу, чтобы сообщение изменилось на «Завершено», но оно никогда не появляется.Я предполагаю, что это имеет что-то с обработкой формы.Может ли кто-нибудь помочь мне отладить это?Вот код:
//Called from custom Menu
var html = HtmlService.createHtmlOutputFromFile('index')
.setWidth(260)
.setHeight(200)
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
SpreadsheetApp.getUi().showModalDialog(html, 'Processing');
//Index.html
<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<body style="font-family: Arial, Helvetica;font-size:13px">
<div>
<form><b>Please enter the Begin date and End date to use for this date range.</b><br><br>
Begin Date:<br>
<input type="date" id="begindate" name="begindate">
<br><br>End Date:<br>
<input type="date" id="enddate" name="enddate">
<br><br><input type="button" value="OK" id="submitbutton" onmouseup="writeFormData()">
<input type="button" value="Cancel" onclick="google.script.host.close()" />
</form>
</div>
<script>
window.writeFormData = function() {
var beginDate = document.getElementById("begindate").value;
var endDate = document.getElementById("enddate").value;
google.script.run
.withSuccessHandler(dataWasWritten)
.processForm(beginDate, endDate);
};
window.dataWasWritten = function() {
console.log("Function ran.");
};
</script>
function processForm(beginDate, endDate) {
//this works
var html = HtmlService.createHtmlOutputFromFile('working')
.setWidth(260)
.setHeight(200)
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
SpreadsheetApp.getUi().showModalDialog(html, 'Tier Processing');
//Where all the processing is - this works
TierProcessing.New(beginDate, endDate);
//This never shows up!
var html = HtmlService.createHtmlOutputFromFile('done')
.setWidth(260)
.setHeight(200)
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
SpreadsheetApp.getUi().showModalDialog(html, 'Tier Processing');
}
Спасибо за помощь!