Estoy tratando de adjuntar un evento de clic a una casilla de verificación usando JavaScript. A continuación se muestra el HTML y JS.javascript: problema getElementById en IE
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<input type="hidden" name="caution_c" value="0">
<input type="checkbox" id="caution_c" name="caution_c" value="1" tabindex="120">
<script type="text/javascript">
var cb = document.getElementById('caution_c');
cb.onclick = function() {
alert(1);
}
</script>
</body>
</html>
El problema es que en IE, el evento click no se activa. He reducido la ubicación del problema. El problema es que hay una entrada oculta justo antes de la casilla de verificación y ambos elementos tienen el mismo nombre. No estoy seguro de por qué esto está causando un problema (después de todo, estoy usando getElementById y el elemento oculto ni siquiera tiene una identificación).
Existe una razón válida para este tipo de comportamiento (solo IE. Funciona bien en Firefox ... como siempre :()? También, hay una buena solución (podría hacer document.getElementsByName ('caution_c ') [1] pero yo no quiero ...)
wow ... ¡eso es una locura! –
@Guarav: Bienvenido a IE. – annakata
@Guarav - ¿demente? Sí. Eso es IE para ti. ¿Por qué crees que tantos desarrolladores web odian Microsoft tan intensamente? Este problema es solo la punta del iceberg. :(Esperemos que la nueva versión de IE 9 mejore las cosas, pero no nos salvará a todos de tener que soportar todas esas versiones viejas de IE que se desmoronan. – Spudley