gpt4 book ai didi

javascript - document.getElementById() 不工作 - 可能是因为页面尚未加载?

转载 作者:行者123 更新时间:2023-11-30 10:35:44 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Why does jQuery or a DOM method such as `getElementByID` not find the element?

在 HTML 标记之前,我运行了一些 php 代码。在此期间,我需要包含一些 javascript 行,例如

..php code...
..javascript code...
..php code..
<html>
<head>
</head>
<body>
<input type="file" name="file" id="file">
</body>
</html>

在 javascript 代码中我想隐藏文件元素。

这没有做任何事情:

..php code
?>
<SCRIPT LANGUAGE="JavaScript">
document.getElementById('file').style.display = 'none';
</script>
<?php

...php 代码

如果我在那里放一个警报,它就会显示

如果我将该行放入 <head></head> 中的函数中阻止并从例如调用它按钮的 onClick 事件,文件元素变为隐藏,所以该行很好。也许document.getLementByID在html标签外无效?或者问题可能是页面尚未加载,所以没有具有该 ID 的元素?如果是这样,我该怎么办?

解决方案

我在 php 代码中添加了一个变量 $int = 1; (和 $int = 0; 在其他地方,但仍在页面加载之前)。然后在<head></head> block :

window.onload = selectChoose;
function selectChoose()
{
if (<?php echo $int ?> == 0) {
showChoose();
}
else {
hideChoose();
}
}

function showChoose()
{
document.getElementById('file').style.display = 'inline';
}

function hideChoose()
{
document.getElementById('file').style.display = 'none';
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com