【问题标题】:javascript function not get called when arguments from php当来自 php 的参数时,javascript 函数不会被调用
【发布时间】:2010-11-21 23:20:54
【问题描述】:

我在 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>";

我也尝试过使用硬编码参数值,例如,

echo "<a href='javascript:displayBigImage('sample.jpg')'>Press</a>";

echo "<a href='javascript:displayBigImage(sample.jpg)'>Press</a>";

我不明白怎么了?!?!?!?!

请尽快回复。

提前致谢

【问题讨论】:

    标签: php javascript arguments


    【解决方案1】:

    您的报价有问题:

    <a href='javascript:displayBigImage('sample.jpg')'>
    

    您不能在围绕 HTML 属性和 中使用单引号。您需要在两个地方使用不同的引号,例如:

    <a href="javascript:displayBigImage('sample.jpg')">
    

    所以在你的 PHP 中,它变成了:

    echo "<a href=\"javascript:displayBigImage('".$row['IMG_ID']."')\">Press</a>";
    

    【讨论】:

      【解决方案2】:

      您有一些不匹配的引号。你有这个:

      echo " < a href='javascript:displayBigImage('".$row['IMG_ID']."')'>Press< / a >";
      

      你应该有这个:

      echo " <a href=\"javascript:displayBigImage('" . $row['IMG_ID'] . "')\">Press</a>";
      

      【讨论】:

        【解决方案3】:

        如果您在 HTML 属性值声明中使用单引号,则不能在属性值中使用相同的引号而不通过字符引用来描述它们。

        因此,您可以在 href 属性值中使用双引号:

        echo "<a href='javascript:displayBigImage(\"".$row['IMG_ID']."\")'>Press</a>";
        

        或者你使用正确的字符引用:

        echo "<a href='javascript:displayBigImage(&#27;".$row['IMG_ID']."&#27;)'>Press</a>";
        

        或者你对href属性值声明使用双引号:

        echo "<a href=\"javascript:displayBigImage('".$row['IMG_ID']."')\">Press</a>";
        

        【讨论】:

          猜你喜欢
          • 2013-03-14
          • 2020-01-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多