我需要使用Geoposition API附加到用户坐标的表单,但我无法理解如何在发送表单之前等待获取位置。
我有这个表格 修改
我现在正试图提交表单成功回调......没办法...
<form id="coordForm" method="POST" action="">
<input type="hidden" id="latitude" name="latitude" />
<input type="hidden" id="longitude" name="longitude" />
<input type="text" name="name" id="name>
//other input
<button id="sumbit">Submit</button>
</form>
<div id="location-lat-long"></div>
然后,我试图用jQuery获取位置,但它提交表单而不等待坐标
$(document).ready(function() {
$('#submit').on('click', function(e){
e.preventDefault();
$("#location-lat-long").html("Finding location. Please wait...");
// check if browser supports the geolocation api
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(success);
} else {
$("#location-lat-long").val('Your browser doesn\'t support the geolocation api.');
}
});
function errorCallback() {}
function success(position){
$("#location-lat-long").html("");
$("#latitude").html(position.coords.latitude);
$("#longitude").html(position.coords.longitude);
$('#coordForm').submit();
}
});
最后,表格未提交......
答案 0 :(得分:0)
我会回答我自己的问题只是为了帮助任何人,因为我花了好几个小时......
绝不永远不要将您的元素称为提交或其他敏感词......