Php 当元素是表单的一部分时,document.getElementById返回null
我有一个Php 当元素是表单的一部分时,document.getElementById返回null,php,javascript,html,Php,Javascript,Html,我有一个php文件,里面有一些javascript。考虑下面的JavaScript代码,它向控制台(文件中的第124行)打印 null : 在脚本下面,我有以下表格(文件中的第140行): 为什么它可能是空的?为什么它找不到那个元素 我解决了这个问题: 我将整个放在一个文档中。在现有文档之后写入语句。写入我的语句。脚本执行时DOM未完全加载。将脚本移到该表单下方,看看是否能获得更好的结果。将JavaScript代码包装在窗口中。onload函数。我不知道它为什么不抓取字段,但尝试给表单一个
php
文件,里面有一些javascript。考虑下面的JavaScript代码,它向控制台(文件中的第124行)打印<代码> null <代码>:
在脚本下面,我有以下表格(文件中的第140行):
为什么它可能是空的?为什么它找不到那个元素
我解决了这个问题:
我将整个
放在一个文档中。在现有文档之后写入语句。写入我的语句。脚本执行时DOM
未完全加载。将脚本移到该表单下方,看看是否能获得更好的结果。将JavaScript代码包装在窗口中。onload
函数。我不知道它为什么不抓取字段,但尝试给表单一个idfoo
并使用
document.getElementById('foo').d_min
相反。至少它会缩小问题的来源。这可能是因为您将代码放在文件的早期/不在窗口中。加载
,或者您有重复的ID。将哪些代码放在文件的早期?我没有window.load函数。它不是重复的ID。您将document.getElementById('d_min')
放在哪里了?这是否在头部的脚本标记中?如答案(和我的评论)中所述,您需要将其放在表单后面或窗口中。onload
您可以看到完整的文件。这个问题有一个联系。我确实把它放在表单后面,但它仍然是空的。我把表单放在标签的开头(根据我在另一个答案中的评论),它是相同的输出(null)。你的
和
应该在
中,所有内容,比如我把标签放在标签的最开始,它仍然输出空值。这是非常不寻常的。好吧,基本上是操作DOM元素时的部分,所以你只能尝试这一部分:console.log(document.getElementById('d_min');但是DOM的部分在文档之前被称为wayyy.getElementById您100%确定吗?您是否尝试将其放入window.onload中?是的,文档.getElementById('d_min')是最后调用的内容。我将所有javascript包装在window.onload中,但它说找不到DOM提供的startTest()函数wait。你是说document.write调用吗?
<FORM name="DataCollect" ACTION="save_phase1.php" method="post">
<input type="hidden" name="d_min" id="d_min" value=""/>
</FORM>
document.getElementById('foo').d_min