Hola chicos, si bien el codigo tiene Jquery, el error me parece que es de javascript.
Tengo un simple bucle, dentro de este bucle tengo un par de condiciones, les copio el codigo y les sigo contando el problema:
Código Javascript
:
Ver originalfunction checkTa(enviarCO){
var sumError ='';
var n = 1;
for(n; n<=8; n++){
var asdf = "talonario_" + n;
if( $("#" + asdf).val() != ''){
$.post(
'ajax/talonario.php',
{talonario:$("#" + asdf).val()},
function(data){
if(data.error!='ok'){
if(data.proveedor==0 || data.proveedor==proveedor){
if(!enviarCO){
document.rango.submit();
}
}else{
sumError ="El talonario de la fila: "+ n +" fue asignado al proveedor:"+data.proveedor+".\r\n";
nextfield = asdf;
$('#error').text(sumError);
$('#error').show('slow');
setTimeout(function(){
$(".error").hide('slow');
},5000);
$("#" + asdf).select();
// alert(n);
}
}else{
sumError ="El talonario de la fila "+ n +" debe ser cargado previamente.\r\n";
nextfield = asdf;
$('#error').text(sumError);
$('#error').show('slow');
setTimeout(function(){
$(".error").hide('slow');
},5000);
$("#" + asdf).select();
}
},
'json'
)
}
}
}
En la primera condicion si el campo
"talonario_"+n esta basio es ignorado. Caso contrario por JSON y AJAX pido unos datos.
Con los datos recibidos en function(data)
realizo una segunda condicion: si
data.error != "ok" realizo la tercer condicion para enviar el form o caso contrario emito un error en el cual indico la FILA ( variable
n ).
Si nos detenmos AK, y suponemos que
n=1 las condiciones son:
para la primera y segunda
true y la tercera
false
Me aparece el error:
Cita: "El talonario de la fila: 9 fue asignado al proveedor: 474.\r\n"
cuando tendria que decir:
Cita: "El talonario de la fila: 1 fue asignado al proveedor: 474.\r\n"
Tambien setea la variable
nextfield="talonario_8"
cuando tendia que setear
nextfield="talonario_1"
ya que
talonario_[2-8] estan basio y no pasan la primer condicion.
Ademas no se de donde saca el
9 si el for condiciona
n<=8.
Viendo la vista previa, es posible que el bucle continue sin esperar la respuesta JSON?