php中的Javascript不工作

php中的Javascript不工作,php,html,Php,Html,我在php中有一个脚本,当选中复选框时,它将更改div的显示,复选框的位置与脚本所在的位置不同 代码片段如下所示 if($_POST['test'] == 1) { echo "<script> document.getElementById('seoTerm').style.display='block';</script>";} if($\u POST['test']==1) { echo“document.g

我在php中有一个脚本,当选中复选框时,它将更改
div
的显示,复选框的位置与脚本所在的位置不同

代码片段如下所示

        if($_POST['test'] == 1)
        {
            echo "<script> document.getElementById('seoTerm').style.display='block';</script>";}
if($\u POST['test']==1)
{
echo“document.getElementById('seoTerm').style.display='block';”;}
我将上述代码放在当前页面的
标题中。当
$\u POST['test']
1
时,id为
seoTerm
div
的显示仍然为none,而不是block


这里有什么问题?

脚本的
标记中有一个错误

更改为
而不是

使用

echo "<script>document.getElementById('seoTerm').style.display='block';</script>";
echo“document.getElementById('seoTerm').style.display='block';”;
而不是

echo "<script?> document.getElementById('seoTerm').style.display='block';</script>";
echo“document.getElementById('seoTerm').style.display='block';”;

为了操作DOM,它可能会提前触发

尝试:


window.onload=函数(){
document.getElementById('seoTerm').style.display='block';
};

您需要两种解决方案,一种是使用document.ready事件,另一种是在元素显示后回显此代码

如果在JavaScript尝试将事件绑定到元素之前执行此操作,则该元素可能不存在

echo "<script>window.onload = function(){ document.getElementById('seoTerm').style.display='block'};</script>"
echo“window.onload=function(){document.getElementById('seoTerm').style.display='block'}

您需要在事件上执行它。因为当您的脚本触发时dom可能还没有准备好,所以现在尝试一下,而不是结果是什么HTML+JS?@DevZer0如何对事件执行?是
div
的id
seoTerm
位于脚本标记之前还是之后?确保您有一个id为seoTermecho“alert('Testing')”的元素;试着这样做只是为了测试。你的浏览器中是否启用了javascript?刷新页面,我已经编辑过了,假设没有“?”,在复制代码时键入over@user2106416或者您也可以将
脚本
标记移动到元素后面的某个位置,id为
seoTerm
,这取决于您想要实现什么。加载所有内容时将触发
onload
。如果将
脚本
移到它后面,它将立即显示元素。
echo "<script>window.onload = function(){ document.getElementById('seoTerm').style.display='block'};</script>"