我想使用javascript獲取經度和緯度,並且比較它與以前的位置。當您從另一臺計算機登錄時,Facebook就會執行某些操作,但要簡單得多。爲了實現這一點,我創建了2個隱藏字段,並且當用戶提交表單時,值將被髮送到服務器。從JavaScript獲取位置並將其傳遞到PHP
<body>
<p id="log">Login to continue:
<form action="welcome.php" method="post">
Username: <input type="text" name="user" required >
Password: <input type="password" required>
<input type="hidden" name= "longitude" id="longitude">
<input type= "hidden" name ="latitude" id="latitude">
<input type="submit" name="submit" onclick="getLocation()">
</p>
<script>
var x=document.getElementById("log");
function getLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition);
}
else{x.innerHTML="Geolocation is not supported by this browser.";}
}
function showPosition(position)
{
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
document.getElementByID("longitude").value = longitude;
document.getElementByID("latitude").value = latitude;
}
</script>
但在的welcome.php的代碼:
$latitude=$_POST["latitude"];
$longtude=$_POST["longitude"];
回報: 說明:未定義指數:緯度在C:\ XAMPP \ htdocs中\的welcome.php第8行
注意:未定義指數:經度 i n C:\ xampp \ htdocs \ welcome.php on line 9
有沒有更好的方法來做到這一點,以及如何解決這個問題?
您使用的getElementById但字段不具有ID – mplungjan