javascript - 从 php 调用 Javascript 函数

标签 javascript php

我已经对帖子和示例进行了多次尝试 - 但我无法理解如何做到这一点。我的 php 文件的头部有这个函数:

    .....
    <script type = "text/javascript" language="javascript">
    function agicol() {
    scheduler.clearAll();
    var idname$ = $idencol;  
    scheduler.load("ret_l.php?connector=true&dhx_filter[IDCol]="+idname$,"json");
    }
 </script>  
 </head>

在正文中,我使用如下变量:

  <body bgcolor="#C0DFFD" onLoad="init();">
  <?php
   if(isset($_GET['id']))
   {
   $idencol = $_GET['id'];
   echo "<script>alert($idencol);</script>";
   // Alert works properly
   // $idencol contains id sended
   }
   ?>

所以,我应该调用函数 agicol(),并传递获取的 id $idencol

谁能告诉我怎么做吗?

提前致谢

最佳答案

您需要在 header 中调用js函数agicol(),该函数使用主体中php设置的js变量$idencol(这里的变量名称非常糟糕) 。

代码中的问题是 PHP 部分没有正确设置预期的 js 变量。像这样更改你的 PHP 部分(注意我使用的转义\$):

<?php
   if(isset($_GET['id']))
   {
      $idencol = $_GET['id'];
      echo "<script>";           
      echo "\$idencol = $idencol;";   //Set JS global variable you expect in the function
      echo "agicol();";               //Call the function
      echo "</script>";

   }
?>

这将解决您当前的问题。

<小时/>

但是还有很多更好的方法可以做到这一点。您可以将 JS 函数设置为接受参数并通过该参数发送 id,而不是使用名称不好的全局变量。

function agicol(id) {
    scheduler.clearAll();
    scheduler.load("ret_l.php?connector=true&dhx_filter[IDCol]=" + id, "json");
    }

...在 PHP 正文中

$idencol = $_GET['id'];
echo "<script>agicol($idencol);</script>";

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

相关文章:

javascript - 打包 JavaScript 函数

php 返回整个 html 文件而不是字符串 (ajax)

php - json_encode 不响应 getJson

javascript - 应用程序以垂直模式打开,而不是水平模式

php - 理解 Doctrine 2 ORM 以及它如何和应该与 WordPress 一起工作

php - 如何使用 MySQL 的 sphinx 插件实现 PHP 的全文搜索?

php - 按位运算符的工作原理

javascript - 增加 SVG 边框的可点击区域

javascript - 删除按钮不起作用

javascript - 在javascript src google map api中调用网络配置值