У меня есть набор кода, который мне нужен, чтобы открыть несколько диалоговых окон yes / no вместе с 2 диалоговыми окнами HtmlService.Порядок выглядит следующим образом:
HtmlService (форма с функцией для возврата данных формы) -> диалоговое окно (YES_NO) для подтверждения правильности цены в форме.-> диалоговое окно (YES_NO) для подтверждения выбранных диапазонов дат -> HtmlService для проверки сообщения электронной почты.
Моя проблема возникает с этим последним диалоговым окном HtmlService.У меня уже есть данные, которые мне нужно передать в функцию обработки, но, насколько я знаю, единственный способ получить переменные в HtmlService - это вернуть данные в виде функции, выполняемой HtmlService.Таким образом, из вышеописанного технологического порядка первый HtmlService передает данные формы в функцию с именем «former () », в этой функции я запускаю два других диалоговых окна.
У меня вопрос, как мне получить данные из«Подтверждение ()» в новый HtmlService, когда HtmlService запускается внутри функции «Подтверждение ()».Или как я могу получить простой синхронный ответ от HtmlService (например, стандартный ответ ui.alert ())?
function create_dialog() { //creates the first HtmlService
var html = HtmlService.createTemplateFromFile('appointments dialog').evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME).setWidth(300).setHeight(350);
SpreadsheetApp.getUi().showModalDialog(html, 'Create Appointment');
}
function confirmer(date, rec, end, location, price, semail, scalander, name, description, status, user, clientmail){ //this is the response from google.script.run.confimer(*vars)
var response = ui.alert('Price Confirm', 'Is the price £'+String(price)+'correct? ', ui.ButtonSet.YES_NO);
if (response == ui.Button.YES){
var response = ui.alert('Date Confirm', 'Are the following Dates correct?\n'+strdates, ui.ButtonSet.YES_NO);
if(response == ui.Button.YES){
//this is where i need to pass the variables (date, rec, end, location, price, semail, scalander, name, description, status, user, clientmail) to the new HtmlService
var emailpreview = emesage("Your", "is", name, date, location, alias, get_email(user), price); //this just generates pure HTML.
var html = HtmlService.createTemplate(emailpreview).evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME).setWidth(300).setHeight(350);;
SpreadsheetApp.getUi().showModalDialog(html, 'Email');
//if(dialog == pressed yes){update_sheet(*vars) //i need to run this (pseudo code)
}