Hola amigos. Estoy desesperado y necesito ayuda, espero que podáis brindármela.
Estoy trabajando con una tienda OsCommerce, y en el control de clientes tengo un código Javascript con una cuenta atrás para controlar una serie de cosas en un <table> que me muestra todos los datos. Dicha cuenta atrás la lanzo a través de un <body ... onload="cuentaAtras()">
El caso es que necesito que el contador aparezca en todos los clientes que cumplan una serie de requisitos, y ahí está el problema: cuando tengo que controlar un cliente me aparece la cuenta atrás sin ningún problema, pero cuando me figuran dos clientes a controlar no se muestra la cuenta atrás. El caso es que funciona, porque consultando varias veces el código fuente se ve que hace la cuenta atrás, pero no tengo alma de mostrarla.
Por si ayuda, comento que tengo el código del contador en un echo de PHP, ya que tengo que pasarle unos datos que genero en el servidor.
Una de las cosas que he hecho ha sido distinguir los contadores gracias a PHP. Lo que a día de hoy hago es llamar a una función en el onload, y dentro de esa función tengo una llamada a la cuenta atrás, la cual distingo gracias a que uso PHP para modificar un poco el nombre a esas funciones y que no se solapen las unas a las otras. La cosa, resumida, es así:
Código PHP:
<body.... onload="cuentaAtras()"/>
.
.
.
.
.
.
echo '<script language="javascript">
function cuentaAtras()
{
contador'.$codigo.'();
}
function contador'.$codigo.'()
{
toSecond'.$contador.'=toSecond'.$contador.'-1;
if(toSecond'.$codigo.'<0)
{
toSecond'.$codigo.'=59;
toMinute'.$codigo.'=toMinute'.$codigo.'-1;
}
form.second.value=toSecond'.$codigo.';
if(toMinute'.$orders['.$codigo.'].'<0)
{
toMinute'.$orders['.$codigo.'].'=59;
toHour'.$orders['.$codigo.'].'=toHour'.$orders['.$codigo.'].'-1;
}
form.minute.value=toMinute'.$orders['.$codigo.'].';
form.hour.value=toHour'.$orders['.$codigo.'].';
if(toHour'.$orders['.$codigo.'].'<0)
{
form.second.value=0;
form.minute.value=0;
form.hour.value=0;
}else{
setTimeout("countDown'.$codigo.()",1000);
}
}
Mi jefe, cuco él, me ha dado la pista de que el fallo es en el Javascript, pero sinceramente no tengo ni idea de cómo ni por qué. Sólo quiero que se vean las cuentas regresivas, es lo único que me falla.
¿Qué me sugerís hacer?