Javascript字符串带空格的参数不起作用

时间:2017-02-02 13:07:54

标签: javascript php

正如标题已经说过我在php中调用了一个onclick方法,但是每个带有空格的字符串似乎都失败了。

php(mysql循环)

echo '<img onclick=test("'.$row['name'].'","name'.$row['id'].'") src="blabla.png"/>';

的javascript

function test(vali, id){

   alert(vali); //Maria, Josef (but not "Michael Jackson")
   alert(id); //name23, name28
}

正如我所说,如果它是一个没有空格的字符串,则会调用alert方法并显示文本,但至少有一个空格没有任何反应。

2 个答案:

答案 0 :(得分:1)

需要引用整个onclick处理程序。然后,您还需要HTML-escape其中的引号。

echo '<img onclick="test(&quot;'.$row['name'].'&quot;,&quot;name'.$row['id'].'&quot;)" src="blabla.png"/>';

在HTML中,这将显示为

<img onclick="test(&quot;A Name With Spaces&quot;,&quot;name1&quot;)" src="blabla.png"/>

javascript部分最终被解码为

test("A Name With Spaces","name1")

答案 1 :(得分:0)

您可以像下面那样使用它

<img onclick='test("<?php echo $row['name']; ?>",name="<?php echo $row['id']; ?>")' src="blabla.png"/>