javascript - Problems With Ui.prompt & Ui.alert -


here tried build series of prompts , alerts send sms messages. through input values of 2 variables (1) mobile phone number , (2) deadline making prepayment.

here source:

function promptprepaymentreminder() {   var ui = spreadsheetapp.getui();   /* Шаг № 1: ввод мобильного телефона гостя */   var step1 = ui.prompt("Напоминание о внесении страхового депозита: шаг 1 из 3", "Введите номер мобильного телефона гостя. Например, +79522294179.", ui.buttonset.ok);   var step1_button = step1.getselectedbutton();   var recipient = step1.getresponsetext();   if (step1_button == ui.button.ok) {   /* Когда пользователь нажимает «Ок» на шаге № 1 */     var step2 = ui.prompt("Напоминание о внесении страхового депозита: шаг 2 из 3", "Введите точные дату и время чтобы установить дедлайн по внесению депозита. Например, 12.06.2016, 18:00.", ui.buttonset.ok_cancel);     var step2_button = step2.getselectedbutton();     var prepaymentreferencelink = "berdyanskaya56.ru/info/prepayment";     var prepaymentdeadline = step2.getresponsetext();     var message = "Мини-гостиница Бердянская 56. Внесение предоплаты в размере 1000 руб.: " + prepaymentreferencelink + ". Внести необходимо до " + prepaymentdeadline + " по московскому времени.";         if (step2_button == ui.button.ok) {         /* Когда пользователь нажимает «Ок» на шаге № 2 */         var step3 = ui.alert("Напоминание о внесении страхового депозита: шаг 3 из 3", "Пожалуйста, проверьте детали СМС-напоминания перед отправкой гостю:" + "\n" + "\nНомер получателя: " + recipient + "\n" + "\nТекст оповещения: " + message, ui.buttonset.yes_no);         var step3_button = step3.getselectedbutton();               if (step3_button == ui.button.yes) {               logger.log("Нажал на yes на третьем шаге.");               /* Когда пользователь нажимает «Да» на шаге № 3. Здесь же отправляем и СМС-уведомление. */               try {               twiliotextmessenger(recipient, message);               ui.alert("СМС-напоминание было успешно отправлено гостю на " + recipient + ".");               }               catch (err) {               ui.alert("Не удалось отправить гостю СМС-напоминание. Пожалуйста, попробуйте снова.");               }               } else {               /* Когда пользователь нажимает «Нет» на шаге № 3 */               var step2 = ui.prompt("Напоминание о внесении страхового депозита: шаг 2 из 3", "Введите точные дату и время чтобы установить дедлайн по внесению депозита. Например, 12.06.2016, 18:00.", ui.buttonset.ok_cancel);               var step2_button = step2.getselectedbutton();               var prepaymentdeadline = step2.getresponsetext();               var message = "Мини-гостиница Бердянская 56. Внесение предоплаты в размере 1000 руб.: " + prepaymentreferencelink + ". Внести необходимо до " + prepaymentdeadline + " по московскому времени.";             }        } else if (step2_button == ui.button.cancel) {       /* Когда пользователь нажимает «Отмена» на шаге № 2 */       var step1 = ui.prompt("Напоминание о внесении страхового депозита: шаг 1 из 3", "Введите номер мобильного телефона гостя. Например, +79522294179.", ui.buttonset.ok_cancel);       var step1_button = step1.getselectedbutton();       var recipient = step1.getresponsetext();       } else if (step2_button == ui.button.close) {       /* Когда пользователь нажимает «Закрыть» на шаге № 2 */       ui.alert("Отправка СМС-оповещения была прервана пользователем на шаге № 2. Чтобы отправить напоминание, попробуйте повторить снова.");       }   } else if (step1_button == ui.button.close) {     /* Когда пользователь нажимает на «Закрыть» на шаге № 1 */     ui.alert("Отправка СМС-оповещения была прервана пользователем на шаге № 1. Чтобы отправить напоминание, попробуйте повторить снова.");   } } 

but should pay more attention following part:

/* Когда пользователь нажимает «Ок» на шаге № 2 */             var step3 = ui.alert("Напоминание о внесении страхового депозита: шаг 3 из 3", "Пожалуйста, проверьте детали СМС-напоминания перед отправкой гостю:" + "\n" + "\nНомер получателя: " + recipient + "\n" + "\nТекст оповещения: " + message, ui.buttonset.yes_no);             var step3_button = step3.getselectedbutton();                   if (step3_button == ui.button.yes) {                   logger.log("Нажал на yes на третьем шаге.");                   /* Когда пользователь нажимает «Да» на шаге № 3. Здесь же отправляем и СМС-уведомление. */                   try {                   twiliotextmessenger(recipient, message);                   ui.alert("СМС-напоминание было успешно отправлено гостю на " + recipient + ".");                   }                   catch (err) {                   ui.alert("Не удалось отправить гостю СМС-напоминание. Пожалуйста, попробуйте снова.");                   }                   } else {                   /* Когда пользователь нажимает «Нет» на шаге № 3 */                   var step2 = ui.prompt("Напоминание о внесении страхового депозита: шаг 2 из 3", "Введите точные дату и время чтобы установить дедлайн по внесению депозита. Например, 12.06.2016, 18:00.", ui.buttonset.ok_cancel);                   var step2_button = step2.getselectedbutton();                   var prepaymentdeadline = step2.getresponsetext();                   var message = "Мини-гостиница Бердянская 56. Внесение предоплаты в размере 1000 руб.: " + prepaymentreferencelink + ". Внести необходимо до " + prepaymentdeadline + " по московскому времени.";                 }  

above can see on third step (you'll see шаг 3 из 3 in russian) ui.alert ui.buttonset.yes_no doesn't work in terms of effect of pressing neither yes nor no. both of them makes nothing happen while declare 2 types of ui.alert displayed in each case.

here in short:

ui.alert("СМС-напоминание было успешно отправлено гостю на " + recipient + ".");               }               catch (err) {               ui.alert("Не удалось отправить гостю СМС-напоминание. Пожалуйста, попробуйте снова.");               } 

here small lesson on how use ui.prompt , ui.alert doesn't me :-(: https://developers.google.com/apps-script/reference/base/ui.

please, check whether miss here? how can fix make appear either of ui.alerts when user presses yes or no?

check execution transcript: should getting error from...

var step3_button = step3.getselectedbutton(); 

...because step3 button enum, not have method properties.

that error:

execution failed: typeerror: cannot find function getselectedbutton in object yes.

compare ui.alert() ui.prompt(), , you'll see have different return types. if you'd used latter, promptresponse.getselectedbutton() have been required button.

just delete problem line , replace references step3_button step3, , should fine.


Comments

Popular posts from this blog

java - Static nested class instance -

c# - Bluetooth LE CanUpdate Characteristic property -

JavaScript - Replace variable from string in all occurrences -