将多个 php 变量传递给 javascript 函数

use*_*049 0 php

我正在尝试将多个值从 PHP 传递到我的 javascript 函数中。该功能现在很简单,只是尝试显示一个带有值的弹出窗口:

    <script type="text/javascript">
        function showMapsInfo(name, ctr) {
            alert('Info = '+name +' '+ctr);
        }//function showMapsInfo
    </script>
Run Code Online (Sandbox Code Playgroud)

当我只传递一个值、名称或 ctr 时,它工作得很好。但是,当传入两个或多个值时,不会发生警报。这不起作用有什么原因吗?我猜如果这是不可能的,我将不得不使用 AJAX 来完成工作?

这是相关的PHP代码。我在页面上制作多个表单,每个 id 通过 ctr 都是唯一的。我从数据库中读取了 $maps_name 。我可以很好地输出到屏幕,所以没有问题。

echo('<button type="button" id="button'.$ctr.'" onClick="showMapsInfo('.$maps_name.', '.$ctr.');"><img src="img/maps_logo.gif"></button><br/>');
Run Code Online (Sandbox Code Playgroud)

net*_*der 5

我猜你只需要事先引用$maps_name$ctr(因为它们很可能是字符串:

echo('<button type="button" id="button'.$ctr.'" onClick="showMapsInfo(\''.str_replace("'", "\\'", $maps_name).'\', \''.str_replace("'", "\\'", $ctr).'\');"><img src="img/maps_logo.gif"></button><br/>');
Run Code Online (Sandbox Code Playgroud)