Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/08/2019, 05:34
JUMASOL
 
Fecha de Ingreso: noviembre-2005
Mensajes: 889
Antigüedad: 18 años, 5 meses
Puntos: 8
Eventos onclick fallan por falta de id

Hola.

Tengo que instalar unas redirecciones por evento onclick, que son así en un archivo llamado redirecciones.js:

Código:
document.getElementById("v1").onclick = function(){document.location = "redireccion1";};
document.getElementById("v2").onclick = function(){document.location = "redireccion2";};
document.getElementById("v3").onclick = function(){document.location = "redireccion3";};
document.getElementById("v4").onclick = function(){document.location = "redireccion4";};
document.getElementById("v5").onclick = function(){document.location = "redireccion5";};
document.getElementById("v6").onclick = function(){document.location = "redireccion6";};
document.getElementById("v7").onclick = function(){document.location = "redireccion7";};
document.getElementById("v8").onclick = function(){document.location = "redireccion8";};
document.getElementById("v9").onclick = function(){document.location = "redireccion9";};
document.getElementById("v10").onclick = function(){document.location = "redireccion10";};
document.getElementById("v11").onclick = function(){document.location = "redireccion11";};
document.getElementById("v12").onclick = function(){document.location = "redireccion12";};
El tema es que en html el index del sitio están todas los divisores "v" del 1 and 12 y no ha problema, todo funciona bien.

Luego hay una segunda sección con los divisores "v" del 1 and 8, y también funcionan.

Pero otra tercera sección que solo tiene los "v" del 9 al 12, y que no funciona ninguno de los eventos y te sale esto en la consola de fallos:

Uncaught TypeError: Cannot set property 'onclick' of null at redirecciones.js:1

Claramente lo que pasa es que al no haber divisores "v" del 1 al 8, da un fallo porque no existen esos elementos y parece que el código queda truncado y no sigue parseándolo.

¿Se puede arreglar esto para dejarlo así? Porque en otro caso, tendré que hacer dos archivos, uno para el índex y la sección segunda, con todo lo de arriba; y otro con los onclick para v9 en adelante. Pero sabemos que cuantos menos archivos mejor. Sobre todo si tienen que llevar elementos adicionales.

Un saludo y gracias por cualquier respuesta.





Gracias.