我有一个窗体,该窗体动态地隐藏文本输入字段,具体取决于加载时对选项字段的初始选择。 经过反复试验,我意识到必须将<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>
元素下方?