簡體   English   中英

如何將 div id 值傳遞給 PHP 變量?

[英]How to pass div id value to PHP variable?

我正在使用自動完成表格來查找城市名稱的“lat”和“lng”,它工作正常。 我在 div id="lat" 和 div id="lng" 中得到了正確的值,但我想在 php 變量中使用這些值作為 $latitude="lat" 和 $longitude="lng" 在 php 腳本中使用它們需要 $latitude 和 $longitude 嗎? 我一直在嘗試這里介紹的許多解決方案,但我的知識太短,無法使其發揮作用。 腳本是:

 <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&key=MY_KEY&libraries=places">
 </script>

 <script>
 function initialize() {
    var address = (document.getElementById('city-input'));
    var autocomplete = new google.maps.places.Autocomplete(address);
    autocomplete.setTypes(['geocode']);
    google.maps.event.addListener(autocomplete, 'place_changed', function() 
 {
        var place = autocomplete.getPlace();
        if (!place.geometry) {
            return;
        }

    var address = '';
    if (place.address_components) {
        address = [
            (place.address_components[1] && place.address_components[1].short_name || ''),
            (place.address_components[2] && place.address_components[2].short_name || '')
            ].join(' ');
    }
    document.getElementById('lat').innerHTML = place.geometry.location.lat();
    document.getElementById('lng').innerHTML = place.geometry.location.lng();
    });
    }

    google.maps.event.addDomListener(window, 'load', initialize);

   </script>

   <input id="city-input" class="controls" type="text"
    placeholder="Enter a location">
   <div id="lat"></div>
   <div id="lng"></div>

對於 php 部分,我正在嘗試這個,但沒有任何結果

   <?php 
    $latitude = (isset($_GET['lat']))?$_GET['lat']:'';
    $longitude = (isset($_GET['lng']))?$_GET['lng']:'';   
    echo $latitude;
    echo $longitude;
    ?>

有什么辦法可以做我打算做的事情嗎? (使用從 googleapis 正確獲得的值獲取 $latitude 和 $longitude 嗎?)非常感謝您的寶貴幫助:-)

很抱歉將 vanialla JS 與 jquery 混淆。 但我正在盡力提供幫助。

您可以使用 ajax 獲取 lat 值和 long 值並將其傳遞給 ajax 數據。 讓我們稱之為 latjs 和 lonjs

$.ajax({
            type: "POST",
            url: "lat_lon.php",
            data: "lat="+latjs+"&lon="+lonjs,
            success: function (html) {

                if (html === 'true') {

在 php 端,以這種方式捕獲它:

$data = file_get_contents('php://input');

if($data,= null) { parse_str($data; $output);

$output_lan = $output['lat'];

$output_lon = $output['lon'];

等等等等過程}

最后2個賦值代碼錯誤:

document.getElementById('lat').innerHTML = place.geometry.location.lat();
document.getElementById('long').innerHTML = place.geometry.location.lng();

以上應該是

$("#lat").html(place.geometry.location.lat());
$("#long").html(place.geometry.location.lng());

代碼不是 100% 工作的,但應該在上面的行中。 無需使用 get elementbyID 等。

希望這有助於 VInay KR

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM