2013-10-25 88 views
0

你们帮我在这里完善我的代码!我很高兴它,并非常感谢你们所有的人:)有没有办法在按钮上点击两次? php,javascript

我想问一个更多的帮助。我不得不双击按钮才能得到答案(坐标)。为什么? 我想上传到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> 
+0

嗨,网址是什么? – ggdx

+0

什么样的网址? – user2897858

+0

是否有任何需要调用相同的函数getLocation()两次。如果不是从最后一次删除它,如果条件 –

回答

1

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

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

+0

我怎么能解决这个问题?我必须首次将它上传到mysql数据库,我点击按钮。双击不是一个选项。是否有可能的解决方法? – user2897858

+0

调用在页面加载时运行'getLocation()'的方法,无需在回发页面上执行此操作。 – epascarello

0

编辑:我不知道,你必须把它放到DB,

代码更新:

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

相关问题