From f5f64b1128d5e6d5baa326f5b5708cf59da9c129 Mon Sep 17 00:00:00 2001 From: Kirik Date: Wed, 3 Sep 2025 13:02:25 +0200 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=BF=D1=80=D0=BE=D1=89=D0=B5=D0=BD?= =?UTF-8?q?=D0=BD=D0=B0=D1=8F=20=D0=BE=D1=82=D0=BF=D1=80=D0=B0=D0=B2=D0=BA?= =?UTF-8?q?=D0=B0=20=D1=84=D0=BE=D1=80=D0=BC=D1=8B=20=D0=B2=20Telegram?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Создан send_plan_simple.php для прямой отправки в Telegram - Исправлена валидация: email ИЛИ telegram обязательны - Добавлен JavaScript для красивой отправки формы - Временно отключена загрузка PDF файлов - Форма работает без белого экрана --- content/plan.md | 62 +++++++++++++--- static/api/send_plan_simple.php | 128 ++++++++++++++++++++++++++++++++ 2 files changed, 179 insertions(+), 11 deletions(-) create mode 100644 static/api/send_plan_simple.php diff --git a/content/plan.md b/content/plan.md index f5ebfad..a61f995 100755 --- a/content/plan.md +++ b/content/plan.md @@ -108,9 +108,58 @@ disableComments = true document.head.appendChild(tripScript); }); + // Обработчик отправки формы + function handleFormSubmit(event) { + event.preventDefault(); + + const form = event.target; + const formData = new FormData(form); + const submitBtn = form.querySelector('.submit-btn'); + + // Показываем состояние загрузки + submitBtn.textContent = 'Отправляем...'; + submitBtn.disabled = true; + + fetch('/api/send_plan_simple.php', { + method: 'POST', + body: formData + }) + .then(response => response.json()) + .then(data => { + if (data.success) { + // Успех + const successDiv = document.createElement('div'); + successDiv.className = 'form-message form-success'; + successDiv.textContent = data.message; + form.parentNode.insertBefore(successDiv, form); + form.reset(); + } else { + // Ошибка + const errorDiv = document.createElement('div'); + errorDiv.className = 'form-message form-error'; + errorDiv.textContent = data.error; + form.parentNode.insertBefore(errorDiv, form); + } + }) + .catch(error => { + // Ошибка сети + const errorDiv = document.createElement('div'); + errorDiv.className = 'form-message form-error'; + errorDiv.textContent = 'Ошибка отправки формы. Попробуйте еще раз.'; + form.parentNode.insertBefore(errorDiv, form); + }) + .finally(() => { + // Восстанавливаем кнопку + submitBtn.textContent = 'Отправить'; + submitBtn.disabled = false; + }); + + return false; + } + -
+
@@ -148,16 +197,7 @@ disableComments = true
-
- -
- - Выберите PDF файл -
-
- Максимальный размер файла: 10 МБ -
-
+