簡體   English   中英

更改HTML屬性值

[英]Change HTML Attribute value

我需要在運行JS函數后更改表單中隱藏類型的值。 距離的值似乎是正確的。 但是當我訪問下一頁中的$ _POST ['distance']時,分配似乎無法正常工作,它仍然返回1000而沒有更改值。 請幫忙。

<script type="text/javascript">
function calcRoute() {
    var start = "1255 E University Dr, Tempe, AZ 85281";
      var end = "KPMG, 60 E Rio Salado Pkwy, Tempe, AZ 85281";
      var request = {
        origin:start,
        destination:end,
        travelMode: google.maps.TravelMode.DRIVING
      };
      directionsService.route(request, function(result, status) {
        if (status == google.maps.DirectionsStatus.OK) {
            window.distance = result.routes[0].legs[0].distance.value;
            alert(window.distance);             
          directionsDisplay.setDirections(result);
        }
      });
   document().getElementById('distance').value = window.distance;
}
</script>
<button type="button" class="btn" onclick="calcRoute()">calc</button>
<form method="post" action = "getdist.php">
<input type = "hidden" name="distance" id="distance" value="1000">
<input type="submit" value="Submit">
</form>

嘗試使用document.getElementById('distance').value = window.distance; 代替:)

另外,您應該可以將該語句放入分配window.distance的函數中,因為當解釋器到達calcRoute的那一行時,將調用document.getElementById()事物,而那是您實際向window賦值的那一行。 .distance是傳遞給directionsService.route的回調函數,因此當您嘗試獲取window.distance時實際上沒有值,因此無法知道,因為每當directionsService.route決定使用回調函數時,都可以調用該函數。

請記住,javascript是異步的。

暫無
暫無

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

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