2013-10-25 94 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); 
} 
?> 

相關問題