Я работаю над личным проектом и столкнулся с ошибкой.Я как бы объединяю несколько учебных пособий, чтобы создать способ определения геолокации, а затем отправить его в базу данных.Я сталкиваюсь с проблемой, когда после нажатия кнопки «Перейти» я должен нажать ее еще раз, чтобы данные были переданы.Я могу пойти по этому чрезвычайно сложному пути, но, возможно, вы можете помочь.Благодарю.
<script>
var latitude = 0;
var longitude = 0;
function geoFindMe() {
var output = document.getElementById("show");
if (!navigator.geolocation){
output.innerHTML = "<p>Geolocation is not supported by your browser</p>";
return;
}
function success(position) {
latitude = position.coords.latitude;
longitude = position.coords.longitude;
output.innerHTML = '<p>Latitude is ' + latitude + '<br>Longitude is ' + longitude + '</p>';
};
function error() {
output.innerHTML = "Unable to retrieve your location";
};
output.innerHTML = "<p>Locating...</p>";
fillLatitudeLongitudeElements();
navigator.geolocation.getCurrentPosition(success, error);
function fillLatitudeLongitudeElements(){
document.getElementById("latitude").value = latitude;
document.getElementById("longitude").value = longitude;
var sql = "INSERT INTO gps(lat, long) VALUES (latitude,longitude)";
}
}
</script>
<p><button onclick="geoFindMe()">Locate</button></p>
<div id="show"></div>
<?php include "../dbconnect.php";
if(isset($_POST['sub'])){
$l = $_POST['long'];
$la = $_POST['lat'];
$n = $_POST['name'];
mysql_query("INSERT INTO `gps`(`lat`, `long`, `name`) VALUES ('".$la."','".$l."','".$n."')");
echo "Done though";
}
?>
<form action="#" method="post">
<fieldset>
Latitude3:<br>
<input id="latitude" type="text" name="firstname" value="latitude" readonly><br>
Longitude:<br>
<input id="longitude" type="text" name="lastname" value="longitude" readonly><br><br>
<input type="submit" value="Submit" name="sub">
</fieldset>
</form>