Files
dostavka_vodi/wp-content/themes/twentytwentyfour/assets/js/test1-contacts.js
2026-04-18 18:55:10 +03:00

49 lines
1.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(() => {
const contactForm = document.getElementById('contactForm')
const contactSuccess = document.getElementById('contactSuccess')
if (!contactForm || !contactSuccess) {
return
}
contactForm.addEventListener('submit', async event => {
event.preventDefault()
const formConfig = window.test1ContactsForm || null
if (!formConfig?.ajaxUrl || !formConfig?.action || !formConfig?.nonce) {
window.alert('Форма временно недоступна. Обновите страницу и попробуйте снова.')
return
}
const formData = new window.FormData(contactForm)
formData.append('action', formConfig.action)
formData.append('nonce', formConfig.nonce)
formData.append('form_type', 'contacts_page')
formData.append('page_url', window.location.href)
try {
const response = await window.fetch(formConfig.ajaxUrl, {
method: 'POST',
credentials: 'same-origin',
body: formData,
})
const payload = await response.json().catch(() => null)
if (!response.ok || !payload?.success) {
throw new Error('submit_failed')
}
contactSuccess.classList.add('visible')
setTimeout(() => {
contactForm.reset()
contactSuccess.classList.remove('visible')
}, 2200)
} catch (error) {
window.alert('Не удалось отправить заявку. Попробуйте еще раз.')
}
})
})()