我正在嘗試修改Google maps API v3方向腳本。我原本以爲合併變量等牢牢把握,但後來我遇到了這樣的問題:變量返回null
function calcRoute() {
var end = document.getElementById("start").value;
var street = document.getElementById("street").value;
var city = document.getElementById("city").value;
var state = document.getElementById("state").value;
var zip = document.getElementById("zip").value;
var start = street + ' ' + city + ' ' + state + ' ' + zip;
var request = {
origin:start,
destination:end,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
}
如果我創建開始的ID的輸入和改變
var start = document.getElementById("start").value;
腳本再次工作。但我不能讓我的聯合變量的工作:
var start = street + ' ' + city + ' ' + state + ' ' + zip;
如果我讓一個按鈕提醒(開始)它返回null ...我做錯了什麼?
更新:另外值得注意的是,
如果我運行:
onClick="alert(end)"
而
<input id="end" name="destination" type="hidden" value="test" />
警報返回 「對象HTMLInputElement」 而不是 「測試」,因爲它應該。
檢查各個變量,一個可能是NULL – Sparky 2012-02-24 23:53:52
如果你發佈鏈接到您的頁面,或者交替使用JSFiddle之類的東西並將其發佈到那裏,我們可以在HTML和DOM以及所有內容的上下文中查看整個代碼。 – 2012-02-25 00:07:08
如果您注意到第一行'var end = document.getElementById(「start」)。value;'它應該是'var end = document.getElementById(「end」)。value;'這修復了腳本,但我仍然無法得到警覺工作... – 2012-02-25 00:17:16