php - 从 PHP 调用 JavaScript 函数的问题

标签 php javascript

基本上,我正在尝试从我的 PHP 调用一个 javascript 函数,并且我正在使用我知道在其他情况下可以工作的代码,但是这里不是,我不知道为什么?

这可能是愚蠢的,因为我已经盯着这个屏幕看了很长时间了:)

这里是我调用函数的地方:

if(isset($test_details['done_test'])){
    echo "getting here";
    echo "<SCRIPT LANGUAGE='javascript'>user_error();</SCRIPT>";
}

我成功打印了“getting here”,但它没有调用 JS 函数。

javascript 函数:

   function user_error(){
   document.write("working");
        //alert("User has already taken this test. Your are being redirected...");
        //setTimeout("window.location='home_student.php'",3000);
   }

评论它是我最终希望它做的。

谁能解释一下。

非常感谢,

@Crimson - 这是我根据你的建议尝试的方法......仍然没有成功。

现在的javascript:

$(document).ready(function () {
     var done = "<?= $test_details['done_test'] ?>";
     if(typeof done != 'undefined'){
          $('WORKING').appendTo('#bodyArea'); // just to test
     }
});

最佳答案

通过回显 <script>...</script>使用 PHP,您不会让浏览器运行 JS 函数!

PHP 只输出要发送给浏览器的 HTML 文件。然后,浏览器解析此 HTML 并在页面显示给用户之前执行大量操作。

接下来,用户与显示的页面交互(或发生一些其他浏览器相关事件,如“onload”)并调用附加的 JS。

所以,如果你想在某个时间运行一些 JS,比如在浏览器完成加载页面后立即运行,你需要在 HTML 文件中创建 JS,以便有一个 JS 函数被调用在这样的页面加载事件中:

<body onload="/*do something here*/"> ... </body>

不过,最好使用 JQuery 或其他一些 JS 框架来完成这样的事情。

关于php - 从 PHP 调用 JavaScript 函数的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5736875/

相关文章:

javascript - 在 multipleTextBox 中添加文本字段

javascript - 如何同时控制两个滚动条

javascript - React router 在每个路由组件中调用相同的代码

php - 通过 PHP PDO 从 Oracle SP 获取数据【Output is cursor】

PHP 静态方法初始化 $_SESSION 变量?

php - 交替颜色 HTML 表 PHP

php - SQL 和 PHP 唯一编号

PHP 不返回 mysql 结果

JavaScript 下拉菜单未按预期工作

javascript - 如果从一个选择和另一个选择中选择选项,则显示 div 元素