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

137
Visualizações
jQuery para manejar dos envíos uno con validación y otro sin validación

Tengo un formulario como:

 <form method='post' action="submit.cfm" id='formid' class="formclass" name="formname"> <input type='submit' name='submit' value="save"> <input type='submit' name='submitDraft' value="save draft"> </form>

Ahora, sin jQuery, puedo enviar el formulario y se validará con los campos requeridos de html para los campos que deba ser, y lo llenaré y lo guardaré, ahora para guardar el borrador, quiero guardarlo sin validación y tratando de use jQuery para lograr esto, pero no funciona como se esperaba.

Intenté así:

 $("#formid").submit(function(event) { event.preventDefault(); // prevent default action var post_url = $(this).attr("action"); // get form action url var form_data = $(this).serialize(); // Encode form elements for submission $.post( post_url, form_data, function( response ) { $("#server-results").html( response ); }); });

Ahora puedo matar 2 pájaros de un tiro, alguna solución factible? No hay un campo de carga, por lo que estoy a salvo desde esa perspectiva.

Se le ocurrieron más intentos

 <script type="text/javascript"> $(document).on('submit','#formid',function(event) { event.preventDefault(); //prevent default action var _id = $(this).find("#saved").attr('id'); if(_id == 'saved') { alert('hi'); var isDrafted = 0; $.validate({ modules : 'date, file' }); } else { alert('hello'); var isDrafted = 1; var post_url = $(this).attr("action"); //get form action url var form_data = $(this).serialize() & '&isDrafted=' + isDrafted; //Encode form elements for submission $.post( post_url, form_data, function( response ) { $("#server-results").html(response); }); } }); </script>

Ahora estoy usando un validador de formvalidation.net, es viejo pero funciona y, sinceramente, será un desastre reemplazarlo, entonces, ¿cómo puedo hacer que esto funcione?

Algo más noté, tuve que hacer clic en el botón dos veces antes de que mostrara mensajes de validación cuando hice clic en guardar.

Y cuyo contexto es guardar significa enviar a la página de acción para guardar en la base de datos

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Debería nombrar los botones de la misma manera con diferentes valores, como se menciona aquí :

 <input type='submit' name='submit' value="save"> <input type='submit' name='submit' value="save draft">

O, dado que está abierto a jQuery, configurando un campo oculto en el que se presionó el botón Enviar:

 <input type='hidden' name='whichSubmit' id='whichSubmit'> <input type='submit' name='submit' value="save"> <input type='submit' name='submitDraft' value="save draft">
 $("#formid").submit(function(event){ $('#whichSubmit').val(event.target.name); });

(ambos son pseudocódigo no probado)

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