【问题标题】:asp button is not working for js scriptasp按钮不适用于js脚本
【发布时间】:2014-10-18 09:27:54
【问题描述】:

我有 js 代码,它可以让用户得到很长的时间,但问题是当我在我的 asp.net 控制按钮中调用 js 函数时,它不起作用,没有显示警报,函数 getLocation 不起作用

var x = document.getElementById("demo"); 函数获取位置(){ if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition, showError); } else { x.innerHTML = "此浏览器不支持地理位置。"; } }

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 " />

【问题讨论】:

  • 您是否确保 JS 按预期工作?
  • 是的,如果我像这样执行简单的 html 按钮调用 ,js 正在工作,但不适用于 asp.net 控件跨度>
  • 请在您的问题中添加您的“getLocation()”代码函数。

标签: c# javascript asp.net


【解决方案1】:

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

编辑:

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

【讨论】:

  • 我已经删除了 OnClick 但它不起作用,我也需要 OnClick 用于 c# 代码
【解决方案2】:

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

OnClientClick="getLocation(); return false;"

【讨论】:

    猜你喜欢
    • 2020-09-25
    • 2021-08-14
    • 2016-09-08
    • 1970-01-01
    • 2018-02-25
    • 2017-12-17
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多