PHP echo Javascript函数不执行任何操作

问题描述 投票:0回答:1

我的网站有PHP邮件代码。无论何时运行,都应该将其重定向(标题)回到主页,并弹出一个窗口,显示“消息已发送”或其他内容。我使用Java语言实现了它,并且效果很好。这是我的“ global.php”中的代码供参考。

  var msg = document.getElementById("msg");
  var opnmsg = function()
  {
    msg.classList.remove("boxoff");
    msg.classList.add("boxactive");
  }

这里没什么好印象的。默认情况下,“ msg”处于关闭状态,如果运行了opnmsg(),则它将打开。这行得通-如果我在检查器控制台中键入它,则会显示该窗口。另外,如果我将其写在文件中的其他位置,它也可以正常工作。

[不幸的是,我无法让该窗口仅在运行“ mail.php”时出现。它可以正确重定向到网页,但是什么也没有显示。有趣的是,基本函数(例如alert())可以正常工作。这是有问题的代码段:

  echo '<script type="text/javascript">
    window.location = "/en/";
    opnmsg();
  </script>';

在使用window.location之前,我只使用了头命令,但是在那种情况下,什么也不会运行,甚至没有alert()。此外,该位置本身位于根目录上,然后根目录根据浏览器的语言重定向到另一个页面,尽管我只是为了进行测试而直接将其临时链接(没有区别)。页面本身(“ index.php”)确实有另一个标头命令,该命令加载了“ global.php”(js代码所在的位置),但是,即使将js脚本复制到索引中,它似乎也不起作用。此外,我尝试了opnmsg()函数的许多替代方法,包括将Javascript代码段直接复制到echo中。无效。

关于任何问题的任何想法?谢谢。

javascript php function header echo
1个回答
0
投票

您的代码永远无法运行。 window.location带您进入其他网站,因此停止previous网站正在运行的所有javascript。 window.location之后的内容基本上不会执行。

最简单的解决方法是在重定向中包含GET参数,然后在您重定向到的页面上检查它。

如果您真的想要javascript,也可以执行ajax request以从其他站点获取相关数据,>

© www.soinside.com 2019 - 2024. All rights reserved.