0

在我的表单中,我有 3 个隐藏输入,旨在获取用户当前的纬度和经度,并将两者发送到 MySQL 数据库。我尝试了一些代码,但是当我在移动环境中运行它时,它清楚地表明两个输入都没有填充纬度和经度。

HTML 代码

<div id="clockinPage" data-role="page" data-theme="c">
    <div id="wrapper_top_image">
       <div id="top_image"></div>
    </div>
    <div id="authentic">The information below will be used as Clock-In register.</div>
    <div data-role="content" >
        <div id="landmark-1" data-landmark-id="1">
            <form id="cname" align="left" action="post" data-ajax="false" >
               <label for "id">Employee's Name:</label><br/>
               <select name="id" id="id">
               <option value=""></option>
               </select><br/>
               <label for "job_id">Job's Name:</label><br/>
               <select name="job_id" id="job_id">
               <option value=""></option>
               </select><br/>
               <input type="hidden" name="latitued" id="latitued" value=""><br/>
               <input type="hidden" name="longitude" id="longitude" value="" >
               <input type="hidden" name="goo_map_api" id="goo_map_api" value="">
               <input type="submit" value="Clock-In" id="enviar_in" data-inline="true">        
            </form>
      </div>
   </div
</div>

jQuery 脚本

$(document).on('pagebeforeshow', '#clockinPage', function() {

    var Geo={};

    if (navigator.geolocation) {
       navigator.geolocation.getCurrentPosition(success, error);
    }

    //Get the latitude and the longitude;
    function success(position) {
        Geo.lat = position.coords.latitude;
        Geo.lng = position.coords.longitude;
        populateHeader(Geo.lat, Geo.lng);
    }

    function error(){
        console.log("Geocoder failed");
    }

    function populateHeader(lat, lng){
        $('#latitued').html(lat);
        $('#longitude').html(lng);
        $('#goo_map_api').html("http://maps.googleapis.com/maps/api/geocode/json?latlng="+lat+","+lng+"&sensor=false");
    }

});

当我尝试从上述表单发布信息时,它返回以下错误: 应用程序错误 - 出现网络错误。(file:///android_asset/www/post?id=1&job_id=2&latitued=&longitude=&goo_map_api=)

这清楚地表明它获得了输入选择 id,输入选择 job_id 但左边 3 个,纬度,经度和 goo_map_api 是空的。有谁知道发生了什么?谢谢你。

4

1 回答 1

0

去掉if检查,只有:navigator.geolocation.getCurrentPosition(success, error);

于 2013-10-10T05:37:53.270 回答