Ошибка в скрипте Google Apps, когда поле ввода формы HTML пусто - PullRequest
1 голос
/ 19 октября 2019

My Google Apps Script получает данные от HTML form, а затем отправляет клиенту подтверждение по электронной почте. Он получает адрес электронной почты от input type=email, и если это поле ввода оставить пустым, скрипт выдаст ошибку.

Вот соответствующая часть моего Google Apps Script:

function doPost(e) {
  var email = e.parameter.Email;
  MailApp.sendEmail({
    to: email,
    subject: "Submission Received",
    body: "We have received your submission. Thank you.",
    htmlBody: HtmlService.createHtmlOutputFromFile(
      "Confirmation"
    ).getContent()
  });
}

Как я могу решить эту проблему, чтобы, когда мое поле form input, на которое ссылаются, было пустым, мой скрипт не выдавал ошибку?

(я знаю, что один из способов решить эту проблему - поставить requiredАтрибутировать на input, но поле является необязательным, так что это не решает мою проблему.)

1 Ответ

1 голос
/ 19 октября 2019
  • Вы не хотите, чтобы произошла ошибка, когда Email не введено.

Если мое понимание верно, как насчет следующей модификации? Пожалуйста, подумайте об этом как об одном из нескольких ответов.

Модифицированный скрипт:

function doPost(e) {
  if ("Email" in e.parameter && e.parameter.Email != "") { // Added
    var email = e.parameter.Email;
    MailApp.sendEmail({
      to: email,
      subject: "Submission Received",
      body: "We have received your submission. Thank you.",
      htmlBody: HtmlService.createHtmlOutputFromFile(
        "Confirmation"
      ).getContent()
    });
  } else { // Added
    // If "Email" is not inputted, for example, you can do something here.
  }
}
  • Из вашего вопроса Email вводится для типа электронной почты. Поэтому я подумал, что нет необходимости подтверждать, является ли значение Email адресом электронной почты.

Если я неправильно понял ваш вопрос, и это был не тот результат, который вам нужен, прошу прощения.

...