В настоящее время я пытаюсь добавить кнопку во всплывающем окне, используя Leaflet.
Это отлично работает. Я также хочу добавить событие onclick
для этой кнопки. Но, похоже, работает частично. Когда я заменяю str
на id, параметр корректно отправляется на load_now()
. Однако, когда я поставлю str
имеет параметр, функция load_now()
не будет выполнена.
Вот соответствующая часть кода:
function draw(markers, category) {
//alert(category);
var mymap = ...
var jArray = markers;
for(o in jArray){
//alert(jArray[o].id);
var trottinette = jArray[o];
var lat = trottinette.lat;
var lng = trottinette.lng;
var id = trottinette.id;
var plt = trottinette.plt;
var chg = trottinette.chg;
var marker = L.marker([lat, lng]).addTo(mymap);
var str = id + "x" + lat + "x" + lng + "x" + chg;
if(category=='user'){
marker.bindPopup("<b>id:" + id + "</b><br>plaintes: "+
plt + "<br> niveau: " + chg + "/4 ").openPopup();
}else if(category=='rechargeur'){
//TODO modifier la DB
marker.bindPopup("<b>id:" + id + "</b><br>plaintes: "+
plt + "<br> niveau: " + chg +
"/4 <br/><input type='submit' value='Load Now' onclick='load_now("+ id +");'/>");
}
}
alert(str);
}
function load_now(str){
//this part doesn't get executed
alert(str);
var id = str.split("x");
var r = confirm("Start load process for scooter " + id[0] + "?");
if (r == true) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "load_scooter_action.php?q=" + str, true);
xmlhttp.send();
}
}
Ты хоть представляешь, что я сделал не так?
Заранее спасибо