PHP-echo JavaScript不起作用


PHP - echo JavaScript is not working

大家好!我正在一个基于bootstrap的板上工作,我有一个装满声音信息的数据库(名称/流派/链接声音云…)

在我的PHP页面中,我回显了一个按钮,该按钮调用一个带有PHP参数的JS函数。

echo "<button onclick='SCM.queue({title:'".$name[$j]."',url:'".$liensc[$j]."'});'>Click me</button>";

我的问题是,当我查看页面的源代码时,我应该有这样的东西:

<button onclick="SCM.queue({title:'Marvin Gaye - Sexual Healing (Kygo Remix)',url:'http://soundcloud.com/kygo/marvin-gaye-sexual-healing'});">Click me</button>

但我得到了:

<button onclick="SCM.queue({title:" marvin="" gaye="" -="" sexual="" healing="" (kygo="" remix)',url:'http:="" soundcloud.com="" kygo="" marvin-gaye-sexual-healing'});'="">Click me</button>

所以,我正在寻找合适的合成:)

希望有人能帮助我!感谢所有

您的报价不正确

试试这个

echo "<button onclick='SCM.queue({title:'"".$name[$j]."'",url:'"".$liensc[$j]."'"});'>Click me</button>";

https://eval.in/139055

尝试作为

echo '<button onclick="SCM.queue({title:'''.$name[$j].''',url:'''.$liensc[$j].'''});">Click me</button>';

使用

echo "<button onclick='"SCM.queue({title:'".$name[$j]."',url:'".$liensc[$j]."'});'">Click me</button>";

尝试这个

echo "<button onclick='"SCM.queue({title:'".$name[$j]."',url:'".$liensc[$j]."'});'">Click me</button>";

示例

使用此:

 echo "<button onclick='SCM.queue({title:'{$name[$j]}',url:'{$liensc[$j]}'});'>Click me</button>";

如果我像这样隔离代码:

<html>
 <body>
  <pre>
  <?php
    $name[1] = 'Marvin Gaye - Sexual Healing (Kygo Remix)';
    $liensc[1] = 'http://soundcloud.com/kygo/marvin-gaye-sexual-healing';
    $j = 1;
    $line = "SCM.queue({title:'".$name[$j]."',url:'".$liensc[$j]."'});";
    echo $line . "'n";
    echo "<button onclick='SCM.queue({title:'".$name[$j]."',url:'".$liensc[$j]."'});'>Click me</button>";
  ?>
  </pre>
 </body>
</html>

$line和按钮显示为:

SCM.queue({title:'Marvin Gaye - Sexual Healing (Kygo Remix)',url:'http://soundcloud.com/kygo/marvin-gaye-sexual-healing'});

这意味着您的语法是正确的

我想知道你是否以某种方式正确输入了你在这个例子中提供的行,但它与你在真实应用程序中使用的行不同!还应该检查$name[]变量是否确实传递了正常的字符串数据。

通常,我会确保onclick=''部分中的某些内容是一个变量,因为它使阅读更简单,因为你不会迷失在嵌套的单引号和双引号中。

例如:

$onclick = "SCM.queue({title:'" . $name[$j] . "',url:'" . $liensc[$j] . "'});";
echo "<button onclick='$onclick'>Click me</button>";

其他几个答案建议将引号转义(带''"),这很好,但最好不要将其内联在echo语句中,除非你真的确定要做什么!

编辑:另请参阅:https://eval.in/139090

例如