文本框输入完后直接按回车提交数据

开发时,一般这样子,一个文本框,一个按钮,
用户输入完,再鼠标点击铵钮来提交数据。
这样子,习惯与效率均会有影响。

另一种情况,在文本框TextBox添加:

 AutoPostBack="true" OnTextChanged="xxx_click"

2个属性与事件,这样会引起页面闪动与回发。

还有一种情况,使用Javascript的焦点事件blur来实现,虽然不会冒泡,亦得用户鼠标点击文本框外来触发。

下面来改变一下。
按照用户操作习惯,在文本框中输入完文本后,往往直接按回车,而不是再转手用鼠标点击。

 <asp:TextBox ID="TextBoxSheBeiBianHao" runat="server" AutoPostBack="false"></asp:TextBox>
 <asp:Button ID="ButtonVerify" runat="server"
     Text="设备编码"
     OnClick="ButtonVerify_Click"
     Style="display: none;" />

 

把铵钮Button隐藏起来, style="display:none"

再写javascript程序,监听用户铵回车Enter或

e.keyCode === 13


对了,选引用jQuery:
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

2026-04-02_13-45-54

 

<script type="text/javascript">
$(document).on('keydown', function (e) {
    if (e.key === 'Enter' || e.keyCode === 13) {
        var activeElement = document.activeElement;
        var inputId = '<%= TextBoxSheBeiBianHao.ClientID %>';

         if (activeElement.id === inputId) {
             e.preventDefault();
             $('#<%= ButtonVerify.ClientID %>').click();
         } else if (activeElement.id !== inputId) {
             e.preventDefault();
         }
     }
 });
</script>
View Code

 

 protected void ButtonVerify_Click(object sender, EventArgs e)
 {
    //这里拿到文本框用户输入的值。
    //进行处理......
}

 

posted @ 2026-04-02 14:10  Insus.NET  阅读(0)  评论(0)    收藏  举报