Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中打开javascript函数_Php_Html_Mysql_Ajax - Fatal编程技术网

在php中打开javascript函数

在php中打开javascript函数,php,html,mysql,ajax,Php,Html,Mysql,Ajax,我在MySQL PHP上工作 while($row = mysqli_fetch_array($result)) { echo "<a href=javascript:click('$row[Name]')>".$row['Name']."</a>"; echo "<br><br><br>"; } 什么是错误。连接有问题。试试这个: echo "<a href=javascript:click('".$row['N

我在MySQL PHP上工作

while($row = mysqli_fetch_array($result))
 {
  echo "<a href=javascript:click('$row[Name]')>".$row['Name']."</a>";
  echo "<br><br><br>";
 }

什么是错误。

连接有问题。试试这个:

 echo "<a href=javascript:click('".$row['Name']."')>".$row['Name']."</a>";
echo”“;

clikc(name)
必须是
单击(name)

您需要引用您的
href
值,并且您应该为您输出到的媒体编码数据,以防您的数据包含可能破坏html或javascript的字符

因此,您可以使用以下内容:

echo "<a href=\"javascript:click(" . htmlspecialchars(json_encode($row['Name']))) . ");\">"
     . htmlspecialchars($row['Name']) . "</a>";
echo”“;

如果您计划使用这样的变量,您应该避开它们

第1版:

echo "<a href=\"javascript:click('".addslashes($row['Name'])."');\">".$row['Name']."</a>";
echo”“;
版本2,清洁剂:

$value = addslashes($row['Name']);
echo <<<EOD
<a href="#" onclick="click('{$value}');return false;">{$row['Name']}</a>
EOD;
$value=addslashes($row['Name']);

echo@NiceMan现在的结果是什么?如果您使用的是
json_encode
,请删除
单击括号内的引号,也就是说,
json_encode
将使用双引号,这将再次出现同样的问题。你还需要
htmlspecialchars
json\u encode
@Kolink谢谢你提醒我为什么我从来没有这样写过javascript。呵呵,没问题。就个人而言,我更喜欢将值放入
数据-*
属性中,并使用
this.getAttribute
访问它。。。但是这对于
javascript:
href不起作用,因为
这个
引用了窗口。快乐
echo "<a href=\"javascript:click('".addslashes($row['Name'])."');\">".$row['Name']."</a>";
$value = addslashes($row['Name']);
echo <<<EOD
<a href="#" onclick="click('{$value}');return false;">{$row['Name']}</a>
EOD;
$value = addslashes($row['Name']);
echo <<<EOD
<a href="#" class='js-clicky' data-value="{$value}">{$row['Name']}</a>
EOD;
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script>
$('.js-clicky').click(function(){
    alert($(this).data('value');
})
</script>