在我的表单中,我有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");
}
});
当我尝试发布上述表单中的信息时,它会返回以下错误: 应用程序错误 - 出现网络错误。 (文件:/// android_asset /网络/交ID = 1&安培; JOB_ID = 2及latitued =安培;经度=安培; goo_map_api =)
这清楚地表明它获得输入选择id,输入选择job_id但是左边3,纬度,经度和goo_map_api都是空的。 有谁知道发生了什么? 谢谢。
答案 0 :(得分:0)
删除if检查,只需:navigator.geolocation.getCurrentPosition(success,error);