Sto tentando di associare un evento click a una casella di controllo utilizzando JavaScript. Di seguito è mostrato l'HTML e il JS.javascript: getElementById problema in 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>
Il problema è che in IE, l'evento click non viene attivato. Ho ristretto la posizione del problema. Il problema è che c'è un input nascosto appena prima della casella di controllo e entrambi questi elementi hanno lo stesso nome. Non sono sicuro del motivo per cui ciò sta causando un problema (dopotutto, sto usando getElementById e l'elemento nascosto non ha nemmeno un ID).
C'è un motivo valido per questo tipo di comportamento (solo IE. Funziona bene in Firefox ... come sempre :()? C'è anche una buona soluzione (potrei fare semplicemente document.getElementsByName ('caution_c ') [1] ma io non voglio ...)
wow ... è solo folle !!!! –
@Garav: Benvenuti in IE. – annakata
@Garav - insano? Sì. Questo è IE per te. Perché pensi che così tanti sviluppatori web odino microsoft così intensamente. Questo problema tecnico è solo la punta dell'iceberg. :(Speriamo che la nuova versione di IE 9 migliorerà le cose, ma non ci salverà tutti dal dover supportare tutte quelle vecchie versioni friabili di IE. – Spudley