javascript - 客户端按键处理事件、设置焦点函数和 __doPostBack ASP.NET

标签 javascript c# html asp.net

我正在尝试执行以下操作:

  • 首先,文本框获得页面加载的焦点(这里没问题)

  • 然后,当 ENTER在该文本框中按下按钮,会将焦点切换到第二个文本框。

  • 最后,当 ENTER在第二个文本框中按下,它会执行回发并获取事件背后的代码,就像您按下经典的 <asp:button /> 一样。

基于:

Fire event on enter key press for a textbox

JavaScript set focus to HTML form element

我设法想出:

HTML:

 <asp:TextBox ID="txtNNoSerie" runat="server"  Width="150px" ClientIDMode="Static" onkeypress="EnterEventFirst(event)" AutoPostBack="false"></asp:TextBox>             
 <asp:TextBox ID="txtNNoIdentification" runat="server" Width="150px" ClientIDMode="Static" onkeypress="EnterEventSecond(event)" AutoPostBack="false"></asp:TextBox>
 <asp:Button id="btnAjouter" CssClass="ms-Button ms-Button--primary" onclick="btnAjouter_click" Text="+" ForeColor="White" runat="server"  Width="30px" />

    <input type="text" id="txtTest" /> <%-- Just for tests --%>

JS:

  function EnterEventFirst(e) {
      if (e.keyCode == 13) {
          document.getElementById('txtTest').value = 'got it';
          document.getElementById('<%=txtNNoIdentification.ClientID%>').focus();
      }
  } 



  function EnterEventSecond(e) {
      if (e.keyCode == 13) {
          document.getElementById('txtTest').value = 'Again';
          __doPostBack('<%=btnAjouter.ClientID%>', "");
      }
  }

隐藏代码:

    protected void btnAjouter_click(object sender, EventArgs e)
    {
    }

JavaScript 函数已达到,因为我可以在测试文本框中看到“得到它”和“再次”,但只持续了半秒,然后它就消失了...... __DoPostBack 函数不起作用。

看起来当您在文本框中按 Enter 时,它会自动执行无用的回发和页面重新加载...这就是我陷入困境的地方

最佳答案

使用 ClientID 而不是 UniqueID。

关于javascript - 客户端按键处理事件、设置焦点函数和 __doPostBack ASP.NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35094160/

相关文章:

javascript - 使用数组元素分配 “id=” 值返回 : TypeError: document. getElementById(...) 为 null

html - 通用兄弟组合器 (~),不更新 DOM 更改,按预期工作?

html - CSS:是什么导致了这种奇怪的排列?

javascript - 根据输入更改输入数字类型的 CSS

javascript - 为什么我的字符串的一部分被省略了?

javascript - 如何在 Bootstrap 中更改面板的折叠方向

javascript - redux 如何使用 react-router 在 componentWillMount 上重定向

c# - Mapster - 如何忽略空属性的映射

c# - 管理 SQL 连接和事务的正确/理想方式 - C#

c# - 试图了解如何创建流畅的界面,以及何时使用它们