以下是这种情况: 我试图在没有重新加载整个文档的情况下单击菜单链接时更改页面标题和内容。 到目前为止,更改内容就像一个魅力。但是我在改变标题时遇到了一些问题。在PHP中使用javascript更改页面标题'if'
下面是代码,所以我可以理解,当我解释一下:
if (isset($_GET['rq'])) {
$rq = $_GET['rq'];
foreach($lesMenus as $menuName=>$menuContent){
foreach($menuContent as $name=>$link){
$linkW = substr($link, 0, strpos($link, '.'));
if($linkW == $rq){
$newTitle = $name;
break;
}
}
}
if (isset($newTitle)){
$title = $newTitle;
echo("<script type=\"text/javascript\">
document.title =".$newTitle.";
</script>");
}
$mainContent='You have asked for :'.$rq;
echo $mainContent;
}
else{
include('INC/layout.html.inc.php');
}
什么情况是:当用户点击菜单链接,一个函数被调用后一些工作做到这一点:xmlhttp.open("GET", "index.php?rq=" + rq , true);
你在这里有什么基本上是index.php
页面的基础。
The double foreach
loop skims $lesMenus
array for rq
's counterpart。
现在的问题是if (isset($newTitle))
里面的脚本不能播放。其他一切都做了(我已经试过echo $newTitle;
这样做,页面的内容根据要求而改变,但脚本不能播放,即使是该脚本内部的简单Hello世界也不会发生。搜索计算器和网络的方式来播放javaScript的PHP内,这是什么似乎替别人打工,但在我的情况并非如此。
任何指针?:)
感谢您阅读我,
Chris(IT Student)
JS在页面加载时呈现...所以我不认为将它添加到脚本就会触发它。尝试在匿名函数调用或settimeout函数中调用它 –
@NishanthMatha因此,而不是在index.php页面中更改标题,将其更改为在单击菜单链接时调用的函数中?我会尝试 –
绝对肯定它的JavaScript没有运行?据我所知,如果'newTitle'是'“Home”',则插入的javascript将是'document.title = Home;',它将查找“Home”变量而不是将“document.title”设置为字符串“Home” –