2015-01-09 3 views
0

У меня проблема с моим кодом. Я получаю координаты для ввода из javascript и i autopost ввода. Но на моей странице страницы не было никаких переменных.Координаты автопоста геолокации по php

Получить Координаты:

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(); 
} 

Чтобы Autopost форме 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 = gonder' и называют' Гондер() '' внутри callback'? – user3374348

+0

Вы можете показать нам свою страницу geolocation.php? – user3479671

ответ

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

, когда я перемещаю функцию gonder внутри, чтобы обратный вызов работал. Очень благодарю вас за вашу помощь. –

Смежные вопросы