У меня довольно простая настройка с использованием html, css и javascipt.Когда пользователь нажимает на один из множества существующих элементов div, он должен либо появляться, либо исчезать, а также устанавливать для скрытого поля формы значение «1» или «0».
Сначала css:
div.hidden{
visibility: hidden;
}
div.shown{
visibility: visible;
}
javascript:
function toggle(id){
if (document.getElementById("h"+id).value=="0"){
document.getElementById("h"+id).value="1";
document.getElementById("i"+id).className='shown';
}
else{
document.getElementById("h"+id).value="0";
document.getElementById("i"+id).className='hidden';
}
}
и HTML:
<html>
<head>
<script src="foo.js">
</script>
</head>
<body>
<form action="blah blah" >
<div class="hidden" id="i0" onclick="toggle(0);" >
<!--some image -->
<input type="hidden" id="h0" name="0" value="0" />
</div>
<div class="hidden" id="i1" onclick="toggle(1);" >
<!--some image -->
<input type="hidden" id="h1" name="1" value="0" />
</div>
<!-- etc -->
</form>
</body>
</html>
Я знаю, что JavaScript правильно связан и работает, потому что когда я вызываю функцию через консоль Chrome,это работает отлично и делает то, что я ожидаю.Однако, когда я нажимаю на этот div, он не работает!
Что я делаю не так?