Smarty与JQuery发生冲突

时间:2013-03-28 07:15:28

标签: php jquery smarty

我正在使用.tpl文件并且已经包含了Jquery选项卡。现在它给出了错误: 粗体文字是表示的行:

  

致命错误:Smarty错误:[在header.tpl第35行]:语法错误:无法识别的标签:jQuery('#menu2')。tabify(); (1098行/home/jifcccom/public_html/hrm/_includes/smarty/libs/Smarty.class.php上的(Smarty_Compiler.class.php,第446行)

<script src="{$BASE_URL}js/jquery.form.js" type="text/javascript"></script>
<script src="{$BASE_URL}js/jquery.js" type="text/javascript"></script>
    <script src="{$BASE_URL}js/cmxforms.js" type="text/javascript"></script>
    <script src="{$BASE_URL}js/jquery.metadata.js" type="text/javascript"></script>
    <script src="{$BASE_URL}js/jquery.validate.min.js" type="text/javascript"></script>
    <script src="{$BASE_URL}js/functions.js" type="text/javascript"></script>
    <script src="{$BASE_URL}_templates/{$THEME}/js/jquery.tabify.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            // <![CDATA[

            **$(document).ready(function () {**
                $('#menu2').tabify();
            });

            // ]]>
        </script>

4 个答案:

答案 0 :(得分:2)

尝试在{literal}{/literal}

中包装JS代码

答案 1 :(得分:2)

包裹js代码insdie {literal}{/literal}

参考:http://www.smarty.net/docsv2/en/language.function.literal

    <script type="text/javascript">
    {literal}

        $(document).ready(function () {
            $('#menu2').tabify();
        });

    {/literal}
    </script>

答案 2 :(得分:0)

看起来你忘了加载jquery.js ..(我在你发布的代码中看不到它)

<script src="{$BASE_URL}js/jquery.js" type="text/javascript"></script>

答案 3 :(得分:0)

尝试在顶部添加jQuery库:

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="{$BASE_URL}js/cmxforms.js" type="text/javascript"></script>
<script src="{$BASE_URL}js/jquery.metadata.js" type="text/javascript"></script>
<script src="{$BASE_URL}js/jquery.validate.min.js" type="text/javascript"></script>
<script src="{$BASE_URL}js/functions.js" type="text/javascript"></script>
<script src="{$BASE_URL}_templates/{$THEME}/js/jquery.tabify.js" type="text/javascript" charset="utf-8"></script>

 {literal}
    <script type="text/javascript">
        $(document).ready(function () {
            $('#menu2').tabify();
        });
    </script>
 {/literal}

尝试将脚本标记括在{literal}{/literal}标记内。

CHECK THIS LINK FOR INFORMATION