【问题标题】:Is there a OnExit or Leave event on ASP.NET textbox?ASP.NET 文本框上是否有 OnExit 或 Leave 事件?
【发布时间】:2019-09-26 00:44:51
【问题描述】:

当用户离开文本框时,我需要在服务器上运行一些代码,它会对输入的内容进行一些计算。我宁愿避免使用 jQuery,因为它会涉及创建 JSON 服务器等。

难道没有办法为此类事件进行回发吗?

【问题讨论】:

  • 我不会放弃 jQuery。您可以使用 jQuery 来完成客户端代码的所有方面,而无需在服务器上解析一小段 JSON。
  • 问题是处理必须从数据库中访问一些数据。
  • 如果您使用的是 ASP.NET,那么您已经有了一个可以返回 JSON 的服务器应用程序。

标签: c# asp.net


【解决方案1】:

TextBox 有一个AutoPostBack 属性,可以在用户离开客户端文本框时进行回发。在那里你可以使用TextChanged 事件来调用一些服务器端代码。

【讨论】:

  • 但我不想在对文本进行的每次更改时都调用服务器。只有当用户完成输入并离开该字段时,数据才准备好被处理......
  • @Adrian - AutoPostBack 仅在用户离开文本框时触发。只有 then 服务器才能对 TextChanged 事件做出反应。所以它可以按要求工作。
  • 你是对的。事件的名称具有误导性。它奏效了。
【解决方案2】:

文本框的Textchanged Event 呢?当我们输入/更改一些文本然后离开文本框时会触发它。

【讨论】:

  • 我会注意到(如上面 Hans Kesting 所述)TextChanged 事件只有在 AutoPostback 设置为“True”时才会在离开 TextBox 后立即触发。
【解决方案3】:

这个解决方案对我有用:

    <asp:TextBox ID="txtPara" runat="server" AutoPostBack="True" 
OnTextChanged="txtPara_TextChanged" onblur ="myFunction()"></asp:TextBox>

  <script>
        function myFunction() {

            __doPostBack("<%=txtPara%>", **txtPara_TextChanged**);

        }</script>

【讨论】:

    猜你喜欢
    • 2023-03-05
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多