Cita:
Iniciado por GUILLHERMOSOFT Cordial Saludo
Actualmente necesito bloquear un submit con base en la respuesta de una petición ajax, pero no he podido bloquearlo, la petición y la condición de retorno se llevan acabo sin problema por eso en mi código esta la línea 'alert("hola");', por medio de la cual testeo que la condición se cumpla y el alert se imprime correctamente, más he probado con "return false;", "event.preventDefault;" y "event.stopPropagation();", sin embargo el submit no se bloquea, así mismo he probado llamando el evento submit seleccionando el formulario completo y no el botón, pero aún así no funciona, por lo cual agradecería que si alguno me pudiera ayudar lo haga.
Código:
$(document).ready(function(){
//$("#ventas").submit(function(event) {
$("#aceptar").click(function(event) {
$.ajax({
url: "buscarCodigosRepetidos",
data: $("#ventas").serialize(),
type: "POST",
dataType: "html",
async: false,
success: function(data) {
$("#detalleCodigosRepetidos").html(data);
if(data) {
alert("hola");
//return false;
event.preventDefault;
//event.stopPropagation();
}
}
});
});
});
Quedo atento a sus respuestas y/ó comentarios.
Muchas gracias.
Bueno amigo analizamos bien lo que necesitas:
1.- el botón aceptar de tipo submit es para enviar los campos a otro formulario
2.- en ese mismo boton quieres validar que no existe codigo repetido si es que existe bloquear el submit
Entonces
Lo mas factible seria bloquear siempre el submit del boton con
event.preventDefault(); es decir este código va al final.
En tu ajax tu estabas haciendo que si hubiera código repetido entonces detuvieras el submit, ahora has lo mismo pero al revés si no encuentra código repetido envía el submit.
Ejemplo:
Código Javascript
:
Ver original$(document).ready(function(){
$("#aceptar").click(function(event) {
$.ajax({
url: "buscarCodigosRepetidos",
data: $("#ventas").serialize(),
type: "POST",
dataType: "html",
async: false,
success: function(data) {
$("#detalleCodigosRepetidos").html(data);
//validando que no se encontro ningun repetido
if(!data) {
$('#myform').submit();
}
}
});
event.preventDefault();
});
});