[英]Uncaught ReferenceError: [function] is not defined
我正在嘗試在自己的Page中實現Googlemaps,但是由於Webdev仍然很陌生,所以我遇到了一些麻煩。
我遵循了有關將數據保存到數據庫的google API教程,並在.js文件中創建了相應的函數。
代碼如下:
function createMarker(location){
if(poiMode && activeMarkerIcon != null) {
var marker = new google.maps.Marker({
position: location,
icon: activeMarkerIcon,
clickable:true,
draggable:true,
animation:null,
raiseOnDrag:false,
title: Titel,
map: map
});
useFilter();
activeGroup.push(marker); // Marker wird zum dazugehörigenArray hinzugefuegt
map.setOptions({draggableCursor:'default'}) // Mauscursor wieder in ursprünglichen Zustand versetzen
$('body, #poi1, #poi2, #poi3, #poi4, #poi5, #poi6, #poi7, #loeschen').removeClass('poi1A poi2A poi3A poi4A poi5A poi6A poi7A deleteA');
var html = "<table>" +
"<tr><td>Name:</td> <td><input type='text' id='name'/> </td> </tr>" +
"<tr><td>Beschreibung:</td> <td><TEXTAREA id='description' rows='10' cols='50'></TEXTAREA></td> </tr>" +
"<tr align='right'><td></td><td><input type='button' value='Speichern' onclick='saveData()'/></td> <td><input type='button' value='Abbrechen' onclick='infowindow.close()'/></td> </tr>";
infowindow = new google.maps.InfoWindow({
content: html
});
poiMode = false;
infowindow.open(map, marker);
google.maps.event.addListener(marker, 'click', function(event){
clickOnMarker(marker);
});
$('.activeButton').removeClass("activeButton");
}
}
而saveData()函數位於相同的.js文件中,如下所示:
function saveData() {
var name = escape(document.getElementById("name").value);
var address = escape(document.getElementById("address").value);
var latlng = marker.getPosition();
var url = base_url + "map/addMarker?name=" + name + "&address=" + address + "&description=" + "test" + "&user_id=" + "1" +"&lat=" + latlng.lat() + "&lng=" + latlng.lng() + "&date=" + "" +"&type=" + "poi";
downloadUrl(url, function(data, responseCode) {
if (responseCode == 200 && data.length <= 1) {
infowindow.close();
document.getElementById("message").innerHTML = "Location added.";
}
});
}
但是,當我按“表單”上的保存按鈕時,出現控制台錯誤:
未捕獲的ReferenceError:未定義saveData
你能告訴我,我做錯了嗎? 因為我看不到自己的錯誤。 提前致謝
我已通過將saveData()
定義為saveData()
的函數解決了此問題
infowindow.saveData = function(){
...
});
並使用以下命令調用該函數:
<input type='button' value='Save' onclick='infowindow.saveData()'/>
感謝baslikumum和其他所有人!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.