修改HTML属性值

Change HTML Attribute value

本文关键字:属性 HTML 修改      更新时间:2023-09-26

我需要在运行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;代替:)

同样,你应该把语句放在你赋值窗口的函数中。因为document。getelementbyid()会在解释器到达calcRoute的那一行时被调用在那一行你给window赋值。distance是传递给directionsService的回调函数。路线,所以没有办法知道那个窗口。当你试图获取它时,distance实际上会有一个值,因为回调函数可以在directionsService。路由决定。