在OnClick方法

时间:2016-06-30 18:37:03

标签: javascript

我已经尝试过在Stackoverflow中看到的所有方法,但是我遇到了错误。

我试图将php变量值传递给javascript函数,我试图做两种方法:

echo '<td><a href="#" onclick="delete('.$contact['idContact'].')"> Delete </a></td>';

上面的这个方法认为idContact的值实际上是一个变量,所以他试图得到变量的值&#34; 105&#34; (idContact的值)

echo '<td><a href="#" onclick="delete("'.$contact['idContact'].'")"> Delete </a></td>';

这个方法给了我

Uncaught SyntaxError: Unexpected token }

这样做的正确方法是什么?提前谢谢。

这是一个显示我的问题的简单代码:

<html>

<head>
<script>

function eliminate(test)
{
    alert(test);
}

</script>
</head>

<?

$test = "name";

echo '<a href="#" onclick="eliminate('.$test.')"> Delete </a>';

?>

</html>

3 个答案:

答案 0 :(得分:1)

如果它是一个字符串,那么必须引用它,否则js会认为它是一个变量

echo '<td><a href="#" onclick="delete(\''.$contact['idContact'].'\')"> Delete </a></td>';

请注意\'

左侧的转义引号

将变量从php传递给js的更好方法是对json进行编码,这将处理引号和事物......

答案 1 :(得分:0)

避免混淆使用heredoc来实现此目标

$button=<<<HTML
<a href="#" onclick="eliminate('$test')"> Delete </a>
HTML;
echo $button

还要记住,如果你使用json作为参数确保正确地逃脱它们或它将无法正常工作

答案 2 :(得分:0)

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<script>
   function eliminate(test){
     alert(test);
   }
<script>
</head>
<body>
<?php $test="name"; ?>
<a href="" onclick="eliminate('<?php echo $test; ?>')">delete</a>
</body>
</html>