2

我正在尝试在 php echo 语句中使用 javascript 函数。正在使用 showme 和 onclick 函数,并且必须在 showme 函数中传递值。

下面的代码不起作用。

 echo"
  <ul>
  <li><a href='javascript:void(0);' onclick='showme('Test','','10.70725','-61.55391','','Tester');' >$id</a></li>
</ul>
  ";

我该如何解决?

4

8 回答 8

8
echo"
  <ul>
  <li><a href='javascript:void(0);' onclick=\"showme('Test','','10.70725','-61.55391','','Tester');\" >$id</a></li>
</ul>
  ";
于 2012-11-01T05:07:49.617 回答
5

所以不要使用 PHP 来回声,只需让它像这样,并"在你的周围添加引号showme()

<ul>
  <li>
    <a href="javascript:void(0);" onclick="showme('Test','','10.70725','-61.55391','','Tester');"><?php echo $id; ?></a>
  </li>
</ul>

编辑:正如你所说,你在一个while循环中运行它,你可以这样做

我假设您正在从数据库中提取数据

<?php
  while($blah = mysqli_fetch_array($fetch_blah)) {
?>
<!--HTML Part Goes Here-->
<ul>
  <li>
    <a href="javascript:void(0);" onclick="showme('Test','','10.70725','-61.55391','','Tester');"><?php echo $blah['id']; ?></a>
  </li>
</ul>
<?php
}
?>
于 2012-11-01T05:08:41.583 回答
2

这会做,添加\" \"你的 echo :

echo"
  <ul>
  <li><a href='javascript:void(0);' onclick=\"showme('Test','','10.70725','-61.55391','','Tester');\" >$id</a>          </li>
 </ul>
  ";
于 2012-11-01T05:12:33.513 回答
1

请避开你的双引号。

 echo "
  <ul>
  <li><a href=\"javascript:void(0);\" onclick=\"showme('Test','','10.70725','-61.55391','','Tester');\" >$id</a></li>
</ul>
  ";
于 2012-11-01T05:13:14.313 回答
0

为了使事情更易于阅读,请尝试退出 PHP 以显示您的 HTML(而不是使用echo来显示它):

?>

<ul>
    <li>
        <a href="javascript:void(0);" onclick="showme('Test','','10.70725','-61.55391','','Tester');" ><?=$id;?></a>
    </li>
</ul>

<?php

这将修复原始代码中的引号转义问题,并使其更易于阅读。

于 2012-11-01T05:09:34.623 回答
0

检查转义字符/转义序列 [参考: http: //php.net/manual/en/regexp.reference.escape.php ]

<li><a href='javascript:void(0);' onclick=\"showme('Test','','10.70725','-61.55391','','Tester');\">$id</a></li>

要使用双引号,请使用转义字符 \" 这会导致 -> "

正如其他答案中所建议的那样,简单地回显 $id 而不是整个 html 片段

于 2012-11-01T05:14:28.287 回答
0
echo " ...
onclick="showme('Test','','10.70725','-61.55391','','Tester');"><?php echo $id; ?></a>
...";
于 2012-11-01T05:15:21.733 回答
0

尝试在 html 中使用引号而不是撇号:

$result =<<<TSTSTR
<ul>
<li>
<a href="javascript:void(0);' onclick='showme('Test','','10.70725','-61.55391','','Tester');'">$id</a>
</li>
</ul>
TSTSTR;

echo $result;
于 2012-11-01T05:16:29.770 回答