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

135
Vistas
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 Respuestas
Responde la pregunta

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 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