PHP弄乱了.tpl头文件</script>中的<script>

时间:2011-06-21 17:42:15

标签: php jquery

我正在编写一些从tpl文件创建页面的PHP代码,这很好用。但是,我决定使用jqueryui引擎包含一些时髦的jquery东西,我无法让它工作。在header.tpl中,我有以下

<script src="...."></script>
<script>
$(function() {
// a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore!
$( "#dialog:ui-dialog" ).dialog( "destroy" );
$("#dialog-message").dialog({ autoOpen: false })
$( "#dialog-message" ).dialog({
        modal: true,
        buttons: {
            Ok: function() {
        $( this ).dialog( "close" );
        }
    }
});     
$("#tac").click(function() {
    $( "#dialog-message" ).dialog('open');
    // prevent the default action, e.g., following a link
    return false;
}); 
});
</script>

当我在普通的html页面中测试时,此代码会产生所需的效果。但是,当页面由php代码生成时,它就不会。此外,当我在这个php生成的页面上查看源代码时,这就是我在标题中得到的内容

<script>
$(function() )

    $( "#dialog-message" ).dialog(
        }
    });

    $("#tac").click(function() );

});
</script>

PHP似乎破坏了大部分代码,我无法理解为什么会发生这种情况。任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:2)

由于您没有显示任何PHP代码或告诉我们后端如何工作,我不得不猜测。看起来好像你正在使用Smarty或任何其他类似的模板引擎。我开始使用它时遇到了同样的问题。

看看这个documentation

所以,这样做:

{literal}
    // your javascript code
{/literal}

答案 1 :(得分:1)

尝试做

<script type="text/javascript">...</script>.  

确保你的

<scripts /> 

没有缠绕任何

<?php ?> 

标签