在我的表单中,我有 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 是空的。有谁知道发生了什么?谢谢你。