Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Incomprensible totalmente

Estas en el tema de Incomprensible totalmente en el foro de Frameworks JS en Foros del Web. Os pongo un código que mediante ajax de jquery modifica una tabla (es un contador de clicks) a la vez que se ejecuta el enlace ...
  #1 (permalink)  
Antiguo 22/12/2009, 17:20
 
Fecha de Ingreso: diciembre-2009
Mensajes: 4
Antigüedad: 14 años, 11 meses
Puntos: 0
Incomprensible totalmente

Os pongo un código que mediante ajax de jquery modifica una tabla (es un contador de clicks) a la vez que se ejecuta el enlace que tiene (<a>):

$("#num_Desc_ar").click(function(){
$.ajax({
type: "POST",
url: "Contador.php",
data: 'Enlace=Descarga'+'&Numero='+click_numero,
error:function(objeto, quepasa, otroobj){alert("Error prodesando. ("+quepasa+").")},
complete: function(objeto, exito){
if(exito=="success"){
alert("Datos procesados correctamente.");
}
}
});
alert("Hola");
});

pues bien, si el alert("Hola") lo pongo antes que el $.ajax, no funciona, es decir, sigue ejecutándose el enlace pero me da el mensaje de error al procesar, al igual que si no le pongo el alert. Si le pongo "return false" me hace bien el ajax pero no ejecuta el enlace. Lo que quiero es que a la vez que el enlace sigue funcionando, me actualice la tabla. En fin que llevo horas dándole vueltas y no le encuentro sentido por ningún lado de porque me funciona con el alert , y no sin él. ¿Alguna idea?.
  #2 (permalink)  
Antiguo 23/12/2009, 08:22
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Incomprensible totalmente

Cita:
a la vez que el enlace sigue funcionando, me actualice la tabla
Es raro lo que decis, porque lo que se actualice de lado servidor es totalmente efimero. Y si recargas la pantalla se pierde.

Si queres usar return false y luego ir a donde va el click, usa un redireccionador javascript:
Cita:
window.location.href = "http://www.abc.com"
  #3 (permalink)  
Antiguo 24/12/2009, 03:10
 
Fecha de Ingreso: diciembre-2009
Mensajes: 4
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Incomprensible totalmente

Es más, os pongo todo el código (he cambiado el modo de llamada para ver que pasa). En, el primer bloque ($("#num_Vis)....) lo hace perfectamente, y el segundo (en $"#num_Desc a") no entra si no le pongo return false. Ambos son dos enlaces (texto) seguidos uno de otro y estan en un div que se carga dinámicamente por ajax, el cual los crea ya con sus href devueltos desde el PHP. No lo entiendo ni por casualidad.

$(document).ready(function(){
$("#contenido").load("CarNum.php", {Numero:'Ultimo'});
$("#menu").load("CarPort.php", {Numero:'Ultimo'}, function(){

//Eventos para el contador de clicks de descargas y visualización
var click_numero=$("#num_portadaT p").text();

$("#num_Vis").click(function(){
var datos={
Enlace:'Visual',
Numero:click_numero
};

$.post("Contador.php", datos, function(respueta, estado){
if(estado=="success"){
alert("Correcto");
}else{
alert("Incorrecto");
}
});
});

$("#num_Desc a").click(function(){
var datos={
Enlace:'Descarga',
Numero:click_numero
};

$.post("Contador.php", datos, function(respueta, estado){
if(estado=="success"){
alert("Correcto");
}else{
alert("Incorrecto");
}
});
return false;
});
});
});
</script>

Última edición por Geoide; 24/12/2009 a las 03:18
  #4 (permalink)  
Antiguo 25/12/2009, 10:20
 
Fecha de Ingreso: diciembre-2009
Mensajes: 4
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Incomprensible totalmente

Bueno, después de mil pruebas, ya se como puede funcionar, pero no lo entiendo. Si a los enlaces les pongo target=_blank funciona, si no, nada. Pero no sé porqué, ¿alguien tiene una idea?.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:17.