未使用的ReferenceError使用外部脚本& jQuery Mobile

时间:2014-07-24 18:59:40

标签: javascript jquery html jquery-mobile

我正在尝试创建一个网络应用,但无法让我的javascript工作。

当使用全新启动的浏览器加载页面时,我得到'Uncaught ReferenceError:getResult未定义'(位于js / ajax.js中),但是当我刷新页面时,一切正常。我试图移动脚本加载的位置,但我无法让它工作。

我发现了一堆类似的问题,但他们似乎建议在里面加载脚本而不使用$(document).ready(),我已经这样做了。任何人?

修改 我注意到只有从另一个jQuery移动页面出现时才会出现错误。

的index.html

<!DOCTYPE html>
<html>
<head>
    <title>sio.signalare.se</title>
    <meta content="width=device-width, user-scalable=no" name="viewport">
    <meta content="yes" name="apple-mobile-web-app-capable">
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.3/jquery.mobile-1.4.3.min.css" /> 
    <script src="js/ajax.js"></script>
    <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.4.3/jquery.mobile-1.4.3.min.js"></script>
    <style>
        .wrap {
            white-space: normal !important;
        }
    </style>
</head>

<body>
    <div data-role="page">
    <div data-role="header">
        <a class="ui-btn-left" data-direction="reverse" data-icon="back"
        data-iconpos="notext" href="../"></a>

        <h1>ATC-felkoder</h1>
    </div><!-- /header -->

    <div data-role="content">

        <ul data-inset="true" data-role="listview">
            <li>
                <h2 class="wrap">F1</h2>
                <p class="wrap"><strong id="F1-result"></strong></p>
                <select id="F1" onchange="getResult(this);">
                    <option value="" selected>Välj</option>
                    <option value="0">0</option>
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>
                    <option value="6">6</option>
                    <option value="7">7</option>
                    <option value="8">8</option>
                    <option value="9">9</option>
                    <option value="A">A</option>
                    <option value="C">C</option>
                    <option value="E">E</option>
                    <option value="F">F</option>
                    <option value="H">H</option>
                    <option value="L">L</option>
                    <option value="P">P</option>
                    <option value="U">U</option>
                </select>
            </li>
        </ul>

        <h6>Version 2.0</h6>
    </div><!-- /content -->
</div><!-- /page -->
</body>
</html>

JS / ajax.js

function getResult(e) {
    if (e.value) {
        var ajax_load = "<img src='img/loader.gif' alt='loading...' />";
        var loadUrl = "data/result.php?args=" + e.id + "|" + e.value;
        $("#" + e.id + "-result").load(loadUrl);
    } else {
        $("#" + e.id + "-result").empty();
    }        
}

1 个答案:

答案 0 :(得分:0)

;使用jQuery Mobile时,TLDR:<head>在内部页面上被忽略。

要将jQuery Mobile与外部样式和脚本一起使用,您必须为每个页面per the documentation加载相同的脚本和样式集。