我有js代码,它可以让用户长时间使用,但问题是当我在asp.net控件按钮中调用js函数时,它不工作,没有显示警报,而且函数getLocation不工作。
var x = document.getElementById("demo"); function getLocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition, showError); } else { x.innerHTML = "Geolocation is not supported by this browser."; } }
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 " />发布于 2014-08-25 09:05:53
OnClick事件将重新加载页面,因此永远不会触发从OnClientClick调用的JS。删除OnClick事件。
编辑:
如果您需要触发服务器端事件,请让您的JS在发出警报后触发它。
发布于 2014-08-25 11:10:32
只需将以下代码添加到按钮中:
OnClientClick="getLocation(); return false;"https://stackoverflow.com/questions/25482366
复制相似问题