Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将PHP变量传递给java脚本函数_Php_Javascript_Html - Fatal编程技术网

将PHP变量传递给java脚本函数

将PHP变量传递给java脚本函数,php,javascript,html,Php,Javascript,Html,我正在尝试向java脚本函数传递一个值。但是当我点击链接时,我得到一个 未捕获的语法错误:意外标识符 这是密码 <?php include_once("php_includes/check_login_status.php"); $routeHTML = ''; $sql = "SELECT user,title FROM route"; $query = mysqli_query($db_conx, $sql); while($row = mysqli_fetc

我正在尝试向java脚本函数传递一个值。但是当我点击链接时,我得到一个
未捕获的语法错误:意外标识符

这是密码

<?php 

  include_once("php_includes/check_login_status.php");
  $routeHTML = '';

  $sql = "SELECT user,title FROM route";
  $query = mysqli_query($db_conx, $sql);
  while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
    $title = $row["title"]; 
    $user = $row["user"];
    $routeHTML .= '<p>Planned By '.$user.'</p><a href="#" onclick="fetchdata('.$title.')" title="Load This Map">'.$title.'</a><br />';
  }
?>


我在div标记中回显
$routeHTML
,您忘记为javascript添加引号了:

$routeHTML .= '<p>Planned By '.$user.'</p><a href="#" onclick="fetchdata(\''.$title.'\')" title="Load This Map">'.$title.'</a><br />';
$routeHTML.='由'$user'计划。



您必须用“”引号将字符串括起来,如下所示

$routeHTML .= '<p>Planned By '.$user.'</p><a href="#" onclick="fetchdata(\''.$title.'\')" title="Load This Map">'.$title.'</a><br />';
$routeHTML.='由'$user'计划。



JS函数的参数未定义(因为解析的HTML缺少引号-JS假定title是未定义的变量)。

如果忘记转义引号,请执行以下操作:

fetchdata(\''.$title.'\')

否则,php将无法正确呈现
,您将得到一个错误。

您可以通过以下方式将php变量传递给javascript函数:

<input type="button" value="Send" onClick="js_function('<?php echo $var; ?>')">

通常不建议使用内联Js(作为标记的属性)

因此,我鼓励您将javascript与html代码分开,如下所示:

Html:

请注意,
data title
属性,
data-*
属性用于存储自定义数据,因此这是在模板内php和Javascript之间交换信息的好方法

有关数据-*属性的更多信息:

$routeHtml = '<p>Planned By '.$user.'</p><a href="#" class="MyLink" data-title="'.$title.'" title="MyTitle">'.$title.'</a><br />';
$(document).ready(function(){
    $(".MyLink").click(function(e){
        fetchData($(this).data("title"))
    });
});