在php中打开javascript函数
我在MySQL PHP上工作在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
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>