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

47 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')
const formConfig = window.test1ContactsForm || null
if (!contactForm || !contactSuccess) {
return
}
contactForm.addEventListener('submit', async event => {
event.preventDefault()
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')
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('Не удалось отправить заявку. Попробуйте еще раз.')
}
})
})()