Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/05/2009, 03:54
matak
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 16 años, 4 meses
Puntos: 5
Respuesta: detener un script AJAX con setTimeout ejecutandose

Ok, si el problema es únicamente el molesto alert puedes quitarlo perfectamente, lo puse para informar al cliente que su votación no se había efectuado. Ya que el título del tema es "detener un script AJAX con setTimeout ejecutandose" y se detiene algo que el usuario a realizado lo correcto -en mi opinion- es informarlo. Pero ya he dicho, puedes quitarlo y se seguirá detiniendo el proceso.

Ahora bien otra solución podría ser encolar, por asi decirlo, los diferentes procesos ajax. Es decir: si el usuario ha votado, o lo que es lo mismo, si la capa yahavotado existe en vez de detener la ejecución se trataría de por medio de setTimeout volver a llamar a la función, generando de esta forma como una especie de cola de espera. Si te agrada esta solución y quieres intentar implementarla sería algo asi:

Código javascript:
Ver original
  1. if(document.getElementById('yahavotado')){
  2.     setTimeout("votar('"+srt+"','"+valor+"')",3000)
  3.     //alert('debe esperar unos segundos');
  4.     return false;
  5. }

Si lo pruebas ya comentarás y si tienes algun problema y puedo ayudarte aqui estaré,

Saludos
__________________
Si quieres puedes y si puedes debes. Imposible is nothing!!!