Географические координаты автопоста в Stack Overflow

У меня проблема с моим кодом. Я получаю координаты в поле ввода из JavaScript и я автоматически отправлять входы. Но на моей странице поста не было переменных.

Чтобы получить координаты:

function showlocation() {
navigator.geolocation.getCurrentPosition(callback);
}

function callback(position) {
document.getElementById('latitude').value = position.coords.latitude;
document.getElementById('longitude').value = position.coords.longitude;
}

window.onload = function () {
showlocation();
}

Для автопост формы на страницу php:

function gonder()
{
document.forms["geo"].submit();
}
window.onload = gonder;<form action="geolocation.php" method="post" name="geo" id="geo">
<input type="text" name="latitude" id="latitude">
<input type="text" name="longitude" id="longitude">
</form>

Но на странице php нет переменной, чтобы увидеть.

0

Решение

window.onload = function () {
showlocation();
};

window.onload = gonder;

Вот, window.onload = gonder перезаписывает window.onload = function () { ... }только так gonder побежит. Вы можете решить эту проблему, вместо этого вызывая обе функции внутри одного window.onload функция:

window.onload = function () {
showlocation();
gonder();
};

Однако это все равно не будет работать, так как gonder будет выполняться до navigator.geolocation.getCurrentPosition вызов завершен, поэтому форма будет отправлена, пока она еще пуста. Чтобы это исправить, переместите вызов на gonder внутри callback:

function callback(position) {
document.getElementById('latitude').value = position.coords.latitude;
document.getElementById('longitude').value = position.coords.longitude;
gonder();
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]