asp按钮不适用于js脚本

时间:2014-08-25 09:02:45

标签: c# javascript asp.net

我有js代码获取哪些用户拉长但问题是当我在我的asp.net控件按钮中调用js函数时它不起作用并且没有显示警报且函数getLocation不起作用

  

      var x = document.getElementById(" demo");       function getLocation(){           if(navigator.geolocation){               navigator.geolocation.getCurrentPosition(showPosition,showError);           }           else {x.innerHTML ="此浏览器不支持地理位置。&#34 ;; }       }

function showPosition(position) {
   // var latlondata =  position.coords.latitude + "," +position.coords.longitude;
    var latlon =  position.coords.latitude;
    alert(latlon)

    document.getElementById('<%=abc123.ClientID%>').innerText = latlon;


}

function showError(error) {
    if (error.code == 1) {
        x.innerHTML = "User denied the request for Geolocation."
    }
    else if (err.code == 2) {
        x.innerHTML = "Location information is unavailable."
    }
    else if (err.code == 3) {
        x.innerHTML = "The request to get user location timed out."
    }
    else {
        x.innerHTML = "An unknown error occurred."
    }
}

这是我的控制代码

<asp:Label ID="abc123" runat="server" Text="Label"></asp:Label>

<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="getLocation()" OnClick="Button1_Click " />

2 个答案:

答案 0 :(得分:1)

OnClick事件将重新加载页面,因此永远不会触发从OnClientClick调用的JS。删除OnClick事件。

编辑:

如果您需要触发服务器端事件,请让您的JS在警报后触发它。

答案 1 :(得分:0)

只需将以下代码添加到按钮中:

OnClientClick="getLocation(); return false;"