PHP echo Javascript函数不执行任何操作
我的网站有一个PHP邮件代码。无论何时运行,它都应该重定向(标题)回主页面,并弹出一个窗口,显示“message sent”或其他内容。我使用Javascript实现了这个功能,效果很好。这是我的“global.php”中的代码,仅供参考PHP echo Javascript函数不执行任何操作,javascript,php,function,header,echo,Javascript,Php,Function,Header,Echo,我的网站有一个PHP邮件代码。无论何时运行,它都应该重定向(标题)回主页面,并弹出一个窗口,显示“message sent”或其他内容。我使用Javascript实现了这个功能,效果很好。这是我的“global.php”中的代码,仅供参考 var msg = document.getElementById("msg"); var opnmsg = function() { msg.classList.remove("boxoff"); msg.classList.ad
var msg = document.getElementById("msg");
var opnmsg = function()
{
msg.classList.remove("boxoff");
msg.classList.add("boxactive");
}
没什么了不起的。默认情况下,“msg”是关闭的,如果运行opnmsg(),它将打开。这是可行的-如果我在inspector控制台中键入它,窗口就会显示出来。而且,如果我在文件中的任何其他地方写它,它也可以工作
不幸的是,我无法让窗口仅在运行“mail.php”时显示。它会正确地重定向到web页面,但没有显示任何内容。有趣的是,alert()等基本函数工作正常。下面是有问题的代码片段:
echo '<script type="text/javascript">
window.location = "/en/";
opnmsg();
</script>';
echo'
window.location=“/en/”;
opnmsg();
';
在使用window.location之前,我只使用了header命令,但在这种情况下,不会运行任何命令,甚至不会运行alert()。此外,该位置本身位于根目录上,然后根目录会根据浏览器的语言重定向到另一个页面,尽管我临时将其直接链接以进行测试(没有区别)。页面本身(“index.php”)确实有另一个加载“global.php”(js代码所在位置)的头命令,但是,即使将js脚本复制到索引中,它似乎也不起作用。此外,我还尝试了许多替代opnmsg()函数的方法,包括直接将Javascript片段复制到echo中。什么都不管用
有什么问题吗?谢谢。您的代码永远无法工作<代码>窗口。位置会将您带到另一个网站,因此会停止上一个网站运行的任何javascript。在
窗口之后基本上没有任何内容。将执行位置
解决此问题的最简单方法是在重定向中包含GET
参数,并在重定向到的页面上检查该参数
如果你真的想要javascript,你也可以做一个ajax请求
,从另一个站点获取相关数据什么是javascript控制台?有错误吗?window.location将重定向,对opnmsg的调用将无法按预期工作,为什么不使用header()
?@lawrencerone正如我在原始帖子中所说,header()根本不起作用,甚至对于在window.location上工作的alert()命令也不起作用。@eliassores我以前没有注意到它(因为在我读它之前它会很清楚),但是现在它说“uncaughtreferenceerror:opnmsg未在mail.php:3中定义”,可能您是在将函数用法放在声明之前