弹出窗口在php echo中不起作用

时间:2011-12-07 09:05:46

标签: php popup

它可能看起来是一个简单的问题,但我一直在搜索,直到写在这里,但没有答案。我有一个PHP代码,我在echo之后启动一个弹出窗口:

          echo "<A HREF='map2.php' onClick='return popup(this,'notes')'>WHATEVER</A>";
   in the head section i have :
       <SCRIPT TYPE="text/javascript">
                <!--
              function popup(mylink, windowname)
               {
                if (! window.focus)return true;
              var href;
               if (typeof(mylink) == 'string')
             href=mylink;
               else
               href=mylink.href;
             window.open(href, windowname, 'width=400,height=235,scrollbars=yes');
               return false;
            }       

最后是结束脚本标签,但我没有添加它。

无论如何,弹出窗口不起作用。该链接在同一页面中打开。

我也试过了:

      <a href="map2.php" onclick="window.open('map2.php','popup','width=600,height=700,scrollbars=yes,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=no,left=50,top=0');  return false">About</a>

它不起作用。它在同一页面打开。有趣的是,所有这两个解决方案都在html页面中工作,但是当在php之间使用时,在“echo”之后,它不再起作用了。

2 个答案:

答案 0 :(得分:3)

在你发布的第一行(php echo)中,在我看来你有'在一边'的问题

尝试以下方法:

echo "<A HREF='map2.php' onClick=\"return popup(this,'notes')\">WHATEVER</A>";

答案 1 :(得分:2)

问题出在quoting

输出HTML时,我建议使用带echo的单引号,因为它允许您使用HTML标记的正确的双引号。

echo '<a href="map2.php" onClick="return popup(this, \'notes\');">Whatever</a>';

原始代码的问题在于您在引号内引用了违反语法的引号。阅读我发布的链接,了解如何使用PHP正确处理引号。