使用创建的按钮重定向到另一个页面

时间:2016-11-18 15:50:17

标签: javascript

我有这段代码。如果条件满足,我创建一个按钮"在地图上显示"。现在我需要在创建的按钮上运行onclick事件,将用户重定向到新URL上的地图。我试过" window.location"在函数go_to_map中,但它不起作用。有什么帮助吗?

function coordinates_Conv (d, m, s) {
    return d + m / 60 + s / 3600;
}

function alarm(){
    var lat_d = parseInt(document.getElementsByClassName("lat_deg")[0].value);
    var lat_m = parseInt(document.getElementsByClassName("lat_min")[0].value);
    var lat_s = parseInt(document.getElementsByClassName("lat_sec")[0].value);
    var lon_d = parseInt(document.getElementsByClassName("lon_deg")[0].value);
    var lon_m = parseInt(document.getElementsByClassName("lon_min")[0].value);
    var lon_s = parseInt(document.getElementsByClassName("lon_sec")[0].value);
    if ((coordinates_Conv (lat_d,lat_m,lat_s)<=90) && (coordinates_Conv (lat_d,lat_m,lat_s)>=0) && (coordinates_Conv (lon_d, lon_m, lon_s)<=180) && (coordinates_Conv (lon_d, lon_m, lon_s)>=0)){
    document.getElementById("vypocet").innerHTML= String(Math.round(coordinates_Conv (lat_d,lat_m,lat_s)*1000)/1000) + "<br>" + String(Math.round(coordinates_Conv (lon_d, lon_m, lon_s)*1000)/1000);

    var show_map = document.createElement("button","map");
    show_map.setAttribute("id","map");
    show_map.setAttribute("onclick", go_to_map);
    show_map.innerHTML = "Show on map";
    document.body.appendChild(show_map);

    }
    else {
        alert("Invalid input");
    }
}
function go_to_map(){
    var targetMap = "https://www.mapurl.com/"
    window.location=targetMap;
}

2 个答案:

答案 0 :(得分:1)

您的onclick处理程序从未被调用过。

要正确设置处理程序,请直接设置元素onclick

show_map.onclick = go_to_map;

答案 1 :(得分:0)

您需要将show_map.setAttribute("onclick", go_to_map);替换为show_map.onclick = go_to_map;。 这是因为onclickevent而不是attribute