【问题标题】:$ undefined even jquery is loaded$ undefined 即使加载了 jquery
【发布时间】:2015-09-06 13:34:14
【问题描述】:

好的,这是我的问题 我使用以下页面获取用户时区

<html>
    <head>
        <script src="/js/jquery-2.1.4.js"></script>
        <script src="/js/jstz-1.0.4.min.js"></script>
    </head>
    <body>
        <form id="tz-form" action="{{ URL::to('/') }}" method="post">
            <input id="tz" type="hidden" name="timezone" value="">
        </form>
        <script>
            $(document).ready(function(){
                var timezone = jstz.determine();
                $('#tz').val(timezone.name());
                $('#tz-form').submit();
            });
        </script>
    </body>
</html>

当我运行应用程序时,萤火虫会显示以下错误

  1. SyntaxError: 预期表达式,得到 '
  2. ReferenceError:未定义 PhpDebugBar var phpdebugbar = new PhpDebugBar.DebugBar();类型错误:$ 不是函数
  3. $('#tz').val(timezone.name());

我正在使用 laravel 5.1 和 barryvdh/laravel-debugbar。 谢谢

【问题讨论】:

  • JS 库的路径似乎是错误的。 Laravel 显示了一个导致 JavaScript 错误的 404 文档。
  • JS 库加载,firebug "Net" 面板 200OK
  • js文件中有html标签吗?第一个错误看起来像这样。
  • 如果访问/,这段代码不会永远卡在重新加载页面后的循环中吗?
  • 不,它显示了 html 文件中的第一个标签。

标签: php jquery laravel


【解决方案1】:

好的,我找到了解决方案,这发生在

jQuery.noConflict(true);

正如Arrakeen所说,自动添加到页面

所以我添加了更改我的脚本,它工作。 :)

    <script>
        var jq = jQuery.noConflict();
        jq(document).ready(function(){
            var timezone = jstz.determine();
            jq('#tz').val(timezone.name());
            jq('#tz-form').submit();
        });
    </script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-30
    • 2014-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-23
    相关资源
    最近更新 更多