У меня есть форма, которая динамически скрывает поле ввода текста, в зависимости от первоначального выбора поля параметра при загрузке.После некоторых проб и ошибок я понимаю, что тег <script>
должен быть расположен ниже элементов <form>
, чтобы эта функция работала:
<html>
....
<body>
....
<form>
<select name=choice>
<option value=0 selected>Default</option>
<option value=1>Others</option>
</select>
<input type=text name=others></input>
</form>
....
<script type='text/javascript'>
function init()
{
var A = document.forms[0].choice;
var B = document.forms[0].others;
if(A.options[A.selectedIndex].value == 0) B.style.display = 'none';
}
window.onload = init();
</script>
....
</body>
</html>
Событие window.onload
является глобальным событиемэто срабатывает после загрузки всех ресурсов страницы, включая DOM, изображения, фреймы и т. д.Тогда зачем все-таки необходимо размещать тег <script>
под элементами <form>
?