我有html5的地理位置代码。在此代码中,当我单击按钮时,当我单击“尝试”按钮时,它将向我显示纬度和经度数据。 演示:demo 我已经定制了代码,并使用ajax将数据插入到数据库中。现在,我想隐藏按钮,我想在5秒钟后自动发送数据。
<script
src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js">
</script>
<button onclick="getLocation()">Try It</button>
<script>
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
var lat = position.coords.latitude;
var long = position.coords.longitude;
//AJAX CALL THIS WILL PASS THE VALUE OF JAVASCRIPT TO PHP
$.ajax({
type: 'post',
url: 'ajax-processor.php',
data: {
lat: lat,
long: long
},
success: function(html) {
alert("Success");
}
});
}
</script>
$lat = $_POST['lat'];
$long = $_POST['long'];
//your code to insert to the database here using the $lat and $long variable
现在,我想在5秒后插入此数据而没有任何按钮。在地理位置代码中,我有此代码
<button onclick="getLocation()">Try It</button>
我想隐藏此按钮,并且纬度,经度数据将在5秒钟后自动发送到数据库。 总而言之,我要插入的经度和纬度数据将在5秒钟后发送到数据库。 请帮助我。
答案 0 :(得分:0)
尝试以下代码:
setTimeout(function() {
getLocation();
}, 5000);
答案 1 :(得分:0)
var timer = setTimeout(function() {
$.ajax({
type:post,
url : 'ajax-processor.php',
success: function(html) {
alert("Success");
}
});
}, 500);
答案 2 :(得分:0)
您需要更改几行代码。
<button onclick="getLocation()">Try It</button>
到
<button>Try It</button>
然后,您需要添加jQuery
来设置超时。
<script>
setTimeout(function() {
getLocation();
}, 5000); // for 5 secs
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
var lat = position.coords.latitude;
var long = position.coords.longitude;
//AJAX CALL THIS WILL PASS THE VALUE OF JAVASCRIPT TO PHP
$.ajax({
type: 'post',
url: 'ajax-processor.php',
data: {
lat: lat,
long: long
},
success: function(html) {
alert("Success");
}
});
}
</script>