我有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 " />
答案 0 :(得分:1)
OnClick
事件将重新加载页面,因此永远不会触发从OnClientClick
调用的JS。删除OnClick
事件。
编辑:
如果您需要触发服务器端事件,请让您的JS在警报后触发它。
答案 1 :(得分:0)
只需将以下代码添加到按钮中:
OnClientClick="getLocation(); return false;"