Формы обратной связи

Модуль Contact Forms предназначен для организации произвольных форм обратной связи.

Отправка сообщения с формы осуществляется через POST запрос к /contact

Основные поля приведены в таблице

Поле Описание Настройка обязательности
phone номер телефона RequirePhone
email адрес электронной почты RequireEMail
name имя RequireName
notes примечание/сообщение RequireNotes
g-recaptcha-response Ответ ReCaptcha Не отключайте
Вложения можно сделать обязательными RequireAttachment
Ниже приведен пример формы и скрипта для отправки сообщения:
	<form id="contact_form">
		<div>Email:</div>
		<input type="text" name="email"><br>
		<div>Сообщение:</div>
		<textarea name="notes" rows="4"></textarea><br>
		<div id="status"></div>
		<script src="https://www.google.com/recaptcha/api.js"></script>
		<button
			class="g-recaptcha button button-primary"
			data-size="invisible"
			data-sitekey="your_recaptcha_sitekey"
			data-action="default"
			data-callback='send'
		>
			Send
		</button>
	</form>
	function send() {
		var data = $('#contact_form').serialize();
		$.post('/contact', data)
			.done(function(data) {
			  let s = data.status;
			  if (s === 'OK') {
				$('.popup_content').html('Сообщение отправлено');
			  }
			  else {
				$('#status').html('Error: ' + data.message);
				grecaptcha.reset();
			  }
			})
			.fail(function() {
				alert( "error" );
				grecaptcha.reset();
			});

		return false;
	}
Если через форму хочется принимать файлы:
В форме:
    <input name="image" type=file />
В скрипте:
	const form = document.getElementById("add_form")
	const formData = new FormData(form)
	const response =
		await fetch('/contact', {
		  method: 'POST',
		  body: formData,
		})