Javascript getElementById在代码中返回null,但在控制台中工作
我正在使用javascript从保存的值填充html表单 我必须检查一个复选框表,所以我使用一个php脚本生成一个js函数,稍后执行Javascript getElementById在代码中返回null,但在控制台中工作,javascript,php,html,Javascript,Php,Html,我正在使用javascript从保存的值填充html表单 我必须检查一个复选框表,所以我使用一个php脚本生成一个js函数,稍后执行 for($i = 0; $i < count($day_pos) - 1; $i++) { if ($day_pos[$i + 1] - $day_pos[$i] > 7) { if ($day_pos[$i + 1] - $day_pos[$i] > 8) { ec
for($i = 0; $i < count($day_pos) - 1; $i++)
{
if ($day_pos[$i + 1] - $day_pos[$i] > 7)
{
if ($day_pos[$i + 1] - $day_pos[$i] > 8)
{
echo ("document.getElementById(\"".$rdv_days[$i * 2]."\").checked = true;");
echo ("\ndocument.getElementById(\"".$rdv_days[$i * 2 + 1]."\").checked = true;");
}
else if ($uf_hours[$day_pos[$i] + 5] == "sur")
{
echo ("document.getElementById(\"".$rdv_days[$i * 2]."\").checked = true;");
}
else
{
echo ("document.getElementById(\"".$rdv_days[$i * 2 + 1]."\").checked = true;");
}
}
echo("\n");
}
echo ("</script>");
下面是页面后面与之关联的表
<td>
<input type='checkbox' id='rdvMatLun3' name='rdvMatLun3' value='1'/>RDV</td>
</td>
在文档正文结束之前执行代码。它确保所有网站数据都已加载完毕
(function() {
// your code here
})();
</body>
很可能在执行JS代码的时间点上不存在该元素。对此不确定,但请尝试在\n here\n document.getElementById之后提供空间。这就是我如何调用此函数的方法:@user3484799也许您应该将此类内容放到问题中。您可以显示PHP生成的HTML吗?您可以在屏幕上打印$rdv_days[$i*2]以查看它是否为空吗?如果是的话,那部分代码就帮不上忙了,为什么jQuery总是能处理这么简单的事情呢?网页被加载了,我正在设置一组列表的值,它正在工作,所以元素是loaded@epoch答案的第一个版本是使用jQuery。@rekire我没有看到任何编辑历史记录,所以我假设这是@cyan的第一个版本。这是一个在声明后立即调用的函数。您可以在不使用jQuery的情况下执行此操作,以验证此操作的有效性:在地址栏中,您可以通过键入javascript:然后键入一个命令来执行任意javascript,该命令看起来很像javascript:function{alert'this works';}@JustinBell你知道你可以在前5分钟内编辑任意多的答案吗?
(function() {
// your code here
})();
</body>