Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

151
Vistas
Envíe el formulario Ajax después de la validación

Tengo una comprensión limitada de JavaScript, pero con algo de copiar y pegar logré crear un formulario que se envía a través de AJAX.

También estoy ejecutando la validación de entrada estándar de Boostrap 5. Todo funcionó bien hasta que descubrí que AJAX se dispara incluso sin que falten algunos campos.

Luego traté de poner las cosas de AJAX dentro de la función de validación, pero ahora necesito presionar "Enviar" dos veces. Entiendo por qué, pero no sé cómo resolverlo y necesitaría ayuda.

Esto es lo que se me ocurrió:

 (function () { 'use strict' // Fetch all the forms we want to apply validation styles to var forms = document.querySelectorAll('.needs-validation') // Loop over them and prevent submission Array.prototype.slice.call(forms) .forEach(function (form) { form.addEventListener('submit', function (event) { if (!form.checkValidity()) { event.preventDefault() event.stopPropagation() } form.classList.add('was-validated') var frm = $('#orderform'); frm.submit(function (e) { var formData = { firstName_r: jQuery('#firstName_r').val(), lastName_r: jQuery('#lastName_r').val(), action:'the_ajax_mail' }; $.ajax({ type : 'POST', url : "<?php echo admin_url('admin-ajax.php'); ?>", data : formData, encode : true }).done(function(data) { console.log(data); form.classList.remove('was-validated'); document.getElementById('submitForm').disabled = true; }).fail(function(data) { console.log(data); }); e.preventDefault(); }); }, false) }) })()

Conozco la pieza con var frm = $('#orderform'); y frm.submit(function (e) { necesita ir, pero no tengo idea de cómo...

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Prueba esto

 (function() { 'use strict' // Fetch all the forms we want to apply validation styles to var forms = document.querySelectorAll('.needs-validation') // Loop over them and prevent submission Array.prototype.slice.call(forms) .forEach(function(form) { form.addEventListener('submit', function(event) { if (!form.checkValidity()) { event.preventDefault() event.stopPropagation() return } form.classList.add('was-validated') var formData = { firstName_r: jQuery('#firstName_r').val(), lastName_r: jQuery('#lastName_r').val(), action: 'the_ajax_mail' }; $.ajax({ type: 'POST', url: "<?php echo admin_url('admin-ajax.php'); ?>", data: formData, encode: true }).done(function(data) { console.log(data); form.classList.remove('was-validated'); document.getElementById('submitForm').disabled = true; }).fail(function(data) { console.log(data); }); e.preventDefault(); }, false) }) })()
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda