繁体   English   中英

如何在从PHP回显的字符串中使用window.open?

[英]How can I use window.open in my string echo'd from PHP?

通过$ _POST请求,我查询数据库并以字符串形式返回信息,如下所示:

$output .='<div class="searchdiv"> <b>'.$tit.' </b>- '.$art.' <br> <a href="#" onclick="window.open('.$prev.', "_blank", "width=600,height=350");" >preview tutorial</a> - <a href="'.$wat.'" target="blank">watch full tutorial</a></div>'; 

我的问题是“ window.open”语句。 在纯HTML文档中作为内联JS的工作方式如下:

$output .='<div class="searchdiv"> <b>'.$tit.' </b>- '.$art.' <br> <a href="#" onclick="window.open('.$prev.', "_blank", "width=600,height=350");" >preview tutorial</a> - <a href="'.$wat.'" target="blank">watch full tutorial</a></div>'; 

但我认为PHP字符串中的问题是单引号和双引号。我在做什么错?

您需要在URL周围加上引号。

$output .= '... <a href="#" onclick="window.open("' . $prev . '", "_blank", ...
// ---------------------------------------- here ^ -- and here ^

如果查看HTML源代码,以查看生成的内容,您将很快注意到这一点。

似乎您已经弄乱了那里的报价...

$output .='<div class="searchdiv"> <b>'.$tit.' </b>- '.$art.' <br> <a href="#" onclick="window.open('.$prev.', "_blank", "width=600,height=350");" >preview tutorial</a> - <a href="'.$wat.'" target="blank">watch full tutorial</a></div>';

您使用"定义了onclick事件,但是在该事件内部使用了" ,这使其无效。 更换"与事件的内部\\' ,这将逃跑的报价,并不会弄乱你的PHP。

$output .='<div class="searchdiv"> <b>'.$tit.' </b>- '.$art.' <br> <a href="#" onclick="window.open('.$prev.', \'_blank\', \'width=600,height=350\');" >preview tutorial</a> - <a href="'.$wat.'" target="blank">watch full tutorial</a></div>';

而且,如果$prev没有引用JS中的变量(如果它将最终以字符串形式出现),则也需要在这些变量周围加上引号。

\''.$prev.'\'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM