0

私は初心者です。ユーザーが入力した値をプリファレンスマネージャーに保存し、フィールドに自動的に入力したい(ユーザーが入力した場合)。Android logcat に「ReferenceError: 変数が見つかりません: $ at file:///android_asset/www/index.html:53」が表示されます。また、アプリがクラッシュします。私は何を間違っていますか?

<html>
<head>
    <meta charset="utf-8" />
    <meta name="format-detection" content="telephone=no" />
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
    <!--<link rel="stylesheet" type="text/css" href="css/index.css" />-->
    <link rel="stylesheet" type="text/css" href="css/jquery.mobile.structure-1.3.2.css" />
    <link rel="stylesheet" type="text/css" href="css/jquery.mobile.theme-1.3.2.css" />
    <link rel="stylesheet" type="text/css" href="css/jquery.mobile-1.3.2.css" />
    <title>Hello World</title>

    <script type="text/javascript">
        document.addEventListener("deviceready", onDeviceReady, false);

        //once the device ready event fires up, you can safely do your thing
        function onDeviceReady(){
            //document.getElementById("welcomeMsg").innerHTML += "Phonegap is ready! version=";
        }

        $(function(){
            $('#savebutton').click(function(){
                //this is where the user manually keys in values, do error checking here
                window.localStorage.setItem("user_lat", $('#user_lat').val());
            });

            //called when the page is being shown
            $('#newpage').live('pageshow', function(){
                var userLat = window.localStorage.getItem("user_lat");
                if (userLat.length > 0){
                    $('#user_lat').val(userLat);
                }      

            });
        });


    </script>
</head>
<body>
    <div id="home" data-role="page">
        <div data-role="header">
            <h1>Home Page</h1>
        </div>
        <div data-role="content">
            Hola Phonegap & Jquery mobile!
            <a href="#newpage" data-role="button">Go to new page</a>
        </div>
        <div data-role="footer" data-position="fixed">
            <h4>Footer</h4>
        </div>
    </div>
    <!--2nd page-->
    <div id="newpage" data-role="page">
        <div data-role="header">
            <h1>Manually specify your GPS coordinates</h1>
        </div>
        <div data-role="content">
            <label for= "user_lat">Latitude:</label>
            <input type="text" name="user_lat" id="user_lat" value=""/>
            <a id ="savebutton" href="" data-role="button">Save</a>
        </div>
        <div data-role="footer" data-position="fixed">
            <h4>Footer</h4>
        </div>
    </div>

    <script type="text/javascript" src="phonegap.js"></script>
    <script type="text/javascript" src="js/jquery-1.10.1.js"></script>
    <script type="text/javascript" src="js/jquery.mobile-1.3.2.js"></script>        
</body>

4

2 に答える 2

1

$ (jQuery) を使用するには、ページに jQuery を含める必要がありますが、これは使用しませんでした。script タグを追加して、src 属性に jquery の URL を指定できます。このタグを head タグに追加して、必要になる前に追加されるようにします。

<script src="http://code.jquery.com/jquery-latest.min.js"
        type="text/javascript"></script>
于 2013-08-15T17:35:34.383 に答える
1

「$」が定義されていない場合、jQuery が正しくロードされているとは思えません。

試す:

if ( $.mobile ) {
   // loaded
} else {
  // not loaded
} 

jQueryモバイルがロードされているかどうかを確認するか、通常のjQueryでこれを試してください:

if (!jQuery) {
     alert("jQuery is not loaded");
}
于 2013-08-15T17:37:32.850 に答える