Untitled
unknown
plain_text
a month ago
3.4 kB
3
Indexable
<script> (function () { // Função para capturar os dados do formulário function getFormData() { var formData = {}; // Captura campos de input var inputs = document.querySelectorAll('.gpc_campos-input input'); for (var i = 0; i < inputs.length; i++) { var input = inputs[i]; formData[input.placeholder || 'input_' + i] = input.value; } // Captura campos de textarea var textareas = document.querySelectorAll('.gpc_campos-textarea textarea'); for (var i = 0; i < textareas.length; i++) { var textarea = textareas[i]; formData[textarea.placeholder || 'textarea_' + i] = textarea.value; } // Captura campos de radio var radios = document.querySelectorAll('.gpc_campos-radio input:checked'); for (var i = 0; i < radios.length; i++) { var radio = radios[i]; var radioGroup = radio.closest('.gpc_campos-radio'); var radioTitle = radioGroup ? radioGroup.querySelector('.gpc_campos-titulo') : null; formData[radioTitle ? radioTitle.textContent.trim() : 'radio_' + i] = radio.value; } // Captura campos de checkbox var checkboxes = document.querySelectorAll('.gpc_campos-check input:checked'); var checkboxValues = []; for (var i = 0; i < checkboxes.length; i++) { checkboxValues.push(checkboxes[i].value); } var checkboxGroup = checkboxes.length > 0 ? checkboxes[0].closest('.gpc_campos-check') : null; var checkboxTitle = checkboxGroup ? checkboxGroup.querySelector('.gpc_campos-titulo') : null; formData[checkboxTitle ? checkboxTitle.textContent.trim() : 'checkboxes'] = checkboxValues; return formData; } // Função para enviar os dados ao dataLayer function pushToDataLayer(formName, formData) { window.dataLayer = window.dataLayer || []; window.dataLayer.push({ event: 'gtm.formSubmit', eventCategory: 'Form Submit', formName: formName, formData: formData, }); console.log('Dados enviados ao dataLayer:', formData); } // Função para monitorar o clique no botão function observeFormSubmission() { var sendButton = document.querySelector('.gpc_botao.borda_igual.e_formulario.ativo'); if (sendButton) { sendButton.addEventListener('click', function () { var requiredFields = document.querySelectorAll('.gpc_campos-input input[placeholder*="*"]'); var allFieldsFilled = true; // Verifica se todos os campos obrigatórios foram preenchidos for (var i = 0; i < requiredFields.length; i++) { if (requiredFields[i].value.trim() === '') { allFieldsFilled = false; break; } } if (allFieldsFilled) { var formData = getFormData(); pushToDataLayer('Request For A Free Quote', formData); alert('Formulário enviado com sucesso!'); // Mensagem de sucesso (opcional) } else { alert('Por favor, preencha todos os campos obrigatórios.'); } }); } else { console.error('Botão de envio não encontrado.'); } } // Aguarda o carregamento do DOM para inicializar if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', observeFormSubmission); } else { observeFormSubmission(); } })(); </script>
Editor is loading...
Leave a Comment