Quiero crear un formulario de confirmación en elementor usando el formulario elementor, pero la siguiente sección que se puede mostrar depende de que el usuario seleccione el botón. es decir, si elijo el botón A, se mostrará la sección A, pero si elijo el botón B, se mostrará la sección B. ambos estarán ocultos si nadie completa el formulario. ya uso este codigo y funciona
<style> .elementor-editor-active .hidden{ display:block; } .hidden{ display:none; } .shown{ display: block !important; } </style> <script> var btn1 = document.getElementById("submitbutton"); var btn2 = document.getElementById("form-field-nohdr"); //Click Event Handlers for buttons btn1.onclick = function(event){ event.preventDefault(); toggleDivs("yes"); btn2.onclick = function(event){ event.preventDefault(); toggleDivs("no"); }; //function to hide or show function toggleDivs(s){ //reset document.getElementById("yes").classList.remove("shown"); document.getElementById("no").classList.remove("shown"); //show document.getElementById(s).classList.add("shown"); } </script>pero el problema es que los datos del formulario no se envían a elementor. ¿Alguien puede ayudarme a resolver esto? ¿Qué script necesito usar para enviar el botón? si tiene otra opción para enviar los datos a la base de datos/googlsheets, ¡también es muy bueno! Gracias
Para hacer algo después de enviar el formulario, debe agregar un controlador de eventos al evento de elementor jQuery submit_success .
Ejemplo: ( artículo de ejemplo de submit_success )
jQuery(document).on('submit_success', '#your_form_id', ()=>{ jQuery('.some_element_selectors').hide() })Según su pregunta, supongo que está usando algunos botones fuera del formulario para verificar la condición. Le sugiero que agregue la entrada de radio con las opciones "Sí" y "No" para reemplazarla.
Ejemplo:
// my radio input id is subscribe, required var decisionValue = ''; // capture the radio input value when changed jQuery(document).on('change', 'input[name="form_fields[subscribe]"]', ()=>{ // get my subscribe radio input value, possible values are "Yes" or "No" decisionValue = jQuery('input[name="form_fields[subscribe]"]:checked').val(); }) // custom handler on elementor form submit_success jQuery(document).on('submit_success', '#your_form_id', ()=>{ // console.log(decisionValue); if( decisionValue == 'Yes' ) { jQuery('.sectionA').hide(); } else { jQuery('.sectionB').hide(); } }) Si aún desea usar esos botones, es posible que deba agregar la solución alternativa trigger('click') o click() para enviar el formulario.