试图从innerhtml调用Javascript函数

时间:2013-12-02 02:18:16

标签: javascript google-api

我试图在点击按钮时显示地图。我的代码如下。

  List.innerHTML = '<input type="button" value="Click me" onclick="'+calcRoute()+'">';

    function calcRoute() {
                var start = "san bernardino, ca";
                var end = "los angeles, ca";
                var request = {
                    origin:start,
                    destination:end,
                    travelMode: google.maps.TravelMode.DRIVING
                };
                directionsService.route(request, function(response, status) {
                    if (status == google.maps.DirectionsStatus.OK) {
                        return directionsDisplay.setDirections(response);
                    }
                });
    }

calcRoute在调试时显示为未定义。我想在点击按钮时显示两个兴趣点之间的方向。

1 个答案:

答案 0 :(得分:1)

在构建HTML时,您正在调用calcRoute函数:

List.innerHTML = '<input type="button" value="Click me" onclick="'+calcRoute()+'">';
// ----------------------------------------------------------------^^^^^^^^^^^

但是calcRoute没有返回任何内容,所以你实际上是在说:

List.innerHTML = '<input type="button" value="Click me" onclick="' + undefined + '">';

也许你只是想要:

List.innerHTML = '<input type="button" value="Click me" onclick="calcRoute()">';

以便在您点击按钮时调用calcRoute