[英]PHP - echo JavaScript is not working
大家好! 我正在基于引导程序的板上工作,我有一个充满声音信息的数据库(名称/流派/链接 soundcloud ...)
在我的 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>";
尝试作为
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
例如
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.