PHP:调用Javascript命令

时间:2011-08-31 07:58:43

标签: php javascript jquery html

我正在使用名为Reveal的插件,并尝试根据URL中是否存在变量(即www.mysite.com?status=new)来触发它。我已经测试了GET状态代码(工作正常,回显它),并且在按下按钮时设置显示工作。两者都完美无缺。但是,目标是在状态== new时触发事件。这是我的代码:

<?
if($status == 'new'){
        echo '<script type="text/javascript">$(\'#myModal\').reveal();
</script>';
}
?>

不起作用:/任何帮助?我尝试了很多这种组合,似乎没有任何效果。我的代码放在页面底部附近(在正文部分),不确定是否重要..

编辑:也试过这个(没用):

<?
if($status == 'new'){
        echo '<script type="text/javascript">
        $(document).ready(function() {
          e.preventDefault();
      $(\'#myModal\').reveal();
     });
</script>';
}
?>

扎克

3 个答案:

答案 0 :(得分:2)

请注意,这种内联JS将立即由浏览器执行,因此您尝试显示的元素可能尚未准备好显示(因此没有任何反应)。通常,您可以通过调用$(document).ready()上的脚本来解决此问题。请参阅jQuery网站上的this article

答案 1 :(得分:2)

试试这个:

echo '
<script type="text/javascript">
$(document).ready(function(){
    $(\'#myModal\').reveal();
});
</script>';

正如m90已经建议的那样,在执行脚本之前加载DOM可能是个好主意。而且你可以把它放在任何地方,通常我把它放在头部,但它一切都很好。

答案 2 :(得分:0)

只是想在这里采取一些不同的方法:

// Example URL:
// test.php?status=Message

var $_GET = <?php echo json_encode( $_GET ); ?>;

// alert( $_GET['status'] );
// console.log($_GET);