将PHP变量传递给java脚本函数
我正在尝试向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
未捕获的语法错误:意外标识符
这是密码
<?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"))
});
});