如标题所示,我正在 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
}
正如我所说,如果它是一个不带空格的字符串,则会调用警报方法并显示文本,但是至少有一个空格则不会发生任何情况。
最佳答案
您的整个 onclick 处理程序需要被引用。然后,您还需要对其中的引号进行 HTML 转义。
echo '<img onclick="test("'.$row['name'].'","name'.$row['id'].'")" src="blabla.png"/>';
在 HTML 中,这将显示为
<img onclick="test("A Name With Spaces","name1")" src="blabla.png"/>
javascript部分最终被解码为
test("A Name With Spaces","name1")
关于带空格的 Javascript 字符串参数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42003076/