Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

150
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda