$(function() { // Get the form. var form = $('#appai-contact-form'); var formMessages = $('.appai-form-send-message'); // Set up an event listener for the contact form. $(form).submit(function(e) { // Stop the browser from submitting the form. e.preventDefault(); // Clear previous messages $(formMessages).removeClass('success error').text(''); // Show loading message $(formMessages).addClass('loading').text('Отправка...'); // Get form data var message = $('textarea[name="your_message"]').val().trim(); if (!message) { message = 'Сообщение не указано'; } var formData = { name: $('input[name="your_name"]').val(), email: $('input[name="your_mail"]').val(), phone: $('input[name="your_phone"]').val(), message: message }; // Validate form data if (!formData.name || !formData.email || !formData.phone) { $(formMessages).removeClass('loading').addClass('error') .text('Пожалуйста, заполните все поля корректно и попробуйте снова.'); return; } if (!isValidEmail(formData.email)) { $(formMessages).removeClass('loading').addClass('error') .text('Пожалуйста, введите корректный email адрес.'); return; } // Send to Zynero API submitToZyneroAPI(formData, formMessages); }); // Email validation function function isValidEmail(email) { var emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; return emailRegex.test(email); } // Submit to Zynero API function submitToZyneroAPI(data, messagesElement) { $.ajax({ type: 'POST', url: 'https://api.zynero.tech/v1/contact', data: JSON.stringify(data), contentType: 'application/json', dataType: 'json', timeout: 15000 }) .done(function(response) { $(messagesElement).removeClass('loading').removeClass('error').addClass('success') .text('Спасибо! Мы свяжемся с вами в ближайшее время.'); $('.form-group input, .form-group textarea').val(''); // Log success console.log('Form submitted successfully:', response); }) .fail(function(xhr, status, error) { $(messagesElement).removeClass('loading').removeClass('success').addClass('error'); if (status === 'timeout') { $(messagesElement).text('Превышено время ожидания ответа сервера. Пожалуйста, попробуйте снова.'); } else if (xhr.responseJSON && xhr.responseJSON.error) { $(messagesElement).text('Ошибка: ' + xhr.responseJSON.error); } else { $(messagesElement).text('Извините, произошла ошибка при отправке сообщения. Пожалуйста, попробуйте снова.'); } // Log error console.error('Form submission error:', status, error, xhr.responseText); }); } });