我正在运行< a>在PHP中标记。每当我在js函数中传递一个参数时它都不会被调用,但是如果我传递空参数,函数就会被调用。
JS:
function displayBigImage(img){
alert("inside func");
}
PHP:
//NOT WORKING:
echo "<a href='javascript:displayBigImage('".$row['IMG_ID']."')'>Press</a>";
//WORKING:
echo "<a href='javascript:displayBigImage()'>Press</a>";
我也尝试使用harcode参数值,例如
echo "<a href='javascript:displayBigImage('sample.jpg')'>Press</a>";
或
echo "<a href='javascript:displayBigImage(sample.jpg)'>Press</a>";
我不明白什么是错的?!?!?!?!
尽快回复。
提前致谢
答案 0 :(得分:8)
您的报价有问题:
<a href='javascript:displayBigImage('sample.jpg')'>
您不能使用围绕 HTML属性和 中的单引号。您需要在两个地方使用不同的引号,例如:
<a href="javascript:displayBigImage('sample.jpg')">
所以在你的PHP中,它变为:
echo "<a href=\"javascript:displayBigImage('".$row['IMG_ID']."')\">Press</a>";
答案 1 :(得分:1)
你有一些不匹配的引号。你有这个:
echo " < a href='javascript:displayBigImage('".$row['IMG_ID']."')'>Press< / a >";
你应该有这个:
echo " <a href=\"javascript:displayBigImage('" . $row['IMG_ID'] . "')\">Press</a>";
答案 2 :(得分:1)
如果您对HTML属性值声明使用单引号,则不能在属性值中使用相同的引号,而不用字符引用来描述它们。
因此,您要么在href
属性值中使用双引号:
echo "<a href='javascript:displayBigImage(\"".$row['IMG_ID']."\")'>Press</a>";
或者您使用正确的字符引用:
echo "<a href='javascript:displayBigImage(".$row['IMG_ID'].")'>Press</a>";
或者您使用href
属性值声明的双引号:
echo "<a href=\"javascript:displayBigImage('".$row['IMG_ID']."')\">Press</a>";