Как мне обратиться к записи формы Google при использовании HTML-шаблона в App Script?

Можно ли добавить namedValues ​​в скриптлет при попытке использовать HTML-шаблон для отправки писем в App Script? Если да, то как, если нет, как я могу ссылаться на каждый вопрос в форме Google с помощью скриптлетов, чтобы при отправке формы шаблон HTML оценивал () каждую отправленную запись? Ниже приведен код

function sendEmail(e) {
var named_values = e.namedValues;
var name = named_values["Name"]
var timestamp = named_values["Timestamp"]
var subject = "Outlet "+ timestamp +""

const outlet = HtmlService.createTemplateFromFile('outlet');
outlet.named_values = named_values;
const message =  outlet.evaluate().getContent();

MailApp.sendEmail({
to: '[email protected]',
subject: subject,
htmlBody: message
});
}

...и ниже код шаблона

<!DOCTYPE html>
<html>
<body>
<ul><li><b>Company:</b> <?= name ?></li>
<li><b>Loaction:</b> <?= timestamp ?></li></ul>
</body>
</html> 

Мне нужен сценарий, чтобы выбрать «Имя» и «Временная метка» из данных, отправленных последними из формы Google, и отправить их по почте с использованием шаблона HTML. Спасибо.

Пожалуйста, приведите пример того, что вы хотите сделать

Cooper 17.01.2023 00:37

Что вы подразумеваете под «именованными значениями»?

Rubén 17.01.2023 01:05

Я добавил код сценария приложения и код шаблона HTML.

Ibitoyei 17.01.2023 09:07
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
3
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

e.namedValues ​​— это объект, то есть у него есть свойства, эти свойства — заголовки форм, а их значения — ответы, которые люди отправляют в форму.

Представление объекта namedValues ​​в документе Google выглядит следующим образом:

{
 'First Name': ['Jane'],
 'Timestamp': ['6/7/2015 20:54:13'],
 'Last Name': ['Doe']
}

В вашем коде вам нужно получить доступ к значениям e.namedValues ​​+ конкретному полю заголовка, которое вы хотите получить. Например, чтобы получить временную метку, вы делаете это следующим образом:

let named_values = e.namedValues;
let timeStamp = named_values.Timestamp;

Чтобы заставить ваш скрипт работать, вы должны применить эту концепцию к своему коду. Способ сделать это следующий:

function sendEmail(e) {

 let named_values = e.namedValues;
 let name = named_values.Name;
 let timeStamp = named_values.Timestamp;
 let subject = "Outlet "+timeStamp;

 let outlet = HtmlService.createTemplateFromFile('outlet');
 outlet.timeStamp = timeStamp;
 outlet.name = name;
 let message =  outlet.evaluate().getContent();

 MailApp.sendEmail({
  to: '[email protected]',
  subject: subject,
  htmlBody: message
 });
}

И HTML должен выглядеть так:

<!DOCTYPE html>
<html>
 <body>
  <ul><li><b> timeStamp: </b> <?= timeStamp ?></li>
  <li><b> Name: </b> <?= name ?></li></ul>
 </body>
</html> 

это сработало, и я ценю. Но добавил HTML-комментарий к коду, но комментарий не был включен в полученную почту. Что я могу с этим сделать, пожалуйста?

Ibitoyei 17.01.2023 23:55

Привет, комментарий является другим полем формы? если да, вы можете присвоить его значение переменной так же, как код присваивает значения Name и TimeStamp, затем вы включаете это также в выход, а в файле HTML вы создаете новый раздел <li> с комментарием.

Matias CG 18.01.2023 15:27

Это что-то вроде <!-- comment -->

Ibitoyei 19.01.2023 09:21

Другие вопросы по теме