Хорошо, у меня есть метка, внутри этой метки есть div, который содержит изображение и некоторый текст. У div есть вызов onClick для функции javascript, которая меняет цвет div внутри метки, а также устанавливает флажок (по какой-то причине IE и firefox не захотели проверять это правильно, chrome работал нормально).
Javascript:
<script language="javascript" type="text/javascript">
function changecolor(id, chck1, firstcolor, secondcolor)
{
divid = document.getElementById(id);
chkboxid = document.getElementById(chck1);
if(chkboxid.checked){
divid.style.background= firstcolor;
var ua = navigator.userAgent.toLowerCase();
if (ua.indexOf('safari/') == -1){
chkboxid.checked = false ;
}
}
else{
divid.style.background= secondcolor;
var ua = navigator.userAgent.toLowerCase();
if (ua.indexOf('safari/') == -1){
chkboxid.checked = true ;
}
}
}
HTML:
<input type="checkbox" id="idbox" name="cboxwithlabel" value="Another check box"><label for="idbox"><div class="listing" onClick="changecolor('Test33', 'idbox', '#09C', '#0F0');" id="Test33">Another checkbox<img src="images/checkmark.png" height="80" width="80" /></div></label>
Хорошо, поэтому использование этого прекрасно работает в Firefox и Chrome, но в IE 7 (другие версии еще не тестировались), он будет только отмечать этот флажок, если щелкнуть изображение внутри div. Щелчок по самому элементу div изменяет только цвет фона. Так в чем же заключается исправление работы IE, чтобы при нажатии на div он также устанавливал флажок?