0

你们帮我完善了我的代码!我对此感到非常高兴,非常感谢你们所有人:)

我想再请求一点帮助。

我必须双击按钮才能获得答案(坐标)。为什么?我想将其上传到 mysql 数据库,所以不能选择双击?

我怎样才能让 js 在我一键上传到 mysql 之前运行?

提前致谢!

<?php
if(isset($_POST["ido"])) {
$g=3;
$longitudee="longitude$g";
$latitudee="latitude$g";
}

?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Title</title>
</head>
    <script>
var x=document.getElementById("log");
function getLocation()
  {
  if (navigator.geolocation)
    {
    navigator.geolocation.getCurrentPosition(showPosition);
    }
  else{x.innerHTML="GPS szolgáltatás nem müködik ezen a böngészőn, kérlek értesítsd a rendszergazdát!";}
  }
function showPosition(position)
  {
     var latitude = position.coords.latitude;
     var longitude = position.coords.longitude;
     document.getElementById("<?php echo $longitudee;?>").value = longitude; 
     document.getElementById("<?php echo $latitudee;?>").value = latitude;
  }
</script>
    <form action="" method="post">
    <input type="submit" name="ido" value="Click" /></td>
    <input type="hidden" name= "longitude" id="longitude3">
    <input type= "hidden" name ="latitude" id="latitude3">
    </form>
<?php 
    if(isset($_POST["ido"])){
    echo "<script>getLocation();</script>";
    $latitude=$_POST["latitude"];
    $longitude=$_POST["longitude"];
    print_r($_POST);

    }
?>
</html>
4

2 回答 2

1

因为第一次单击它会将代码添加到调用 JavaScript 函数的页面。第二次单击 JavaScript 函数运行,现在您已经设置了值并且可以读取它们。

请记住,JavaScript 和 PHP 代码不会同时运行。

于 2013-10-25T12:37:50.420 回答
0

编辑:我不知道你必须把它放到数据库中,

代码更新:

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Title</title>
</head>
<body>
    <form action="" method="post">
        <input type="submit" name="ido" value="Click" />
    <input type="hidden" name="longitude" id="longitude3">
    <input type="hidden" name ="latitude" id="latitude3">
</form>

<span id="log"></span>

    <script>
        var x = document.getElementById("log");
        function getLocation()
        {
            if (navigator.geolocation)
            {
                navigator.geolocation.getCurrentPosition(showPosition);
            }
            else {
                x.innerHTML = "GPS szolgáltatás nem müködik ezen a böngészőn, kérlek értesítsd a rendszergazdát!";
            }
        }
        function showPosition(position)
        {
            var latitude = position.coords.latitude;
            var longitude = position.coords.longitude;
            document.getElementById("longitude3").value = longitude;
            document.getElementById("latitude3").value = latitude;
        }

        getLocation();
    </script>
<?php
if (isset($_POST["ido"])) {
    $latitude = $_POST["latitude"];
    $longitude = $_POST["longitude"];
    print_r($_POST);
}
?>

于 2013-10-25T13:00:13.490 回答