【问题标题】:disabling default button or enter key in asp.net c#在asp.net c#中禁用默认按钮或输入键
【发布时间】:2009-12-19 21:38:48
【问题描述】:

我有一个表单,用户在其中扫描条形码,条形码阅读器自动在值中输入回车,导致表单提交,因为浏览器默认选择第一个按钮。在该文本框中输入值时按下回车键时,如何禁止发生任何事情?

【问题讨论】:

    标签: c# asp.net javascript


    【解决方案1】:

    您需要使用 javascript 来完成。在文本框的标记中,添加一个 onkeydown 处理程序,如下所示:

    <asp:TextBox ID="TextBox1" runat="server"
       onkeydown = "return (event.keyCode!=13);" >
    </asp:TextBox>
    

    如果键是回车键,这将返回 false,这将取消表单提交。

    【讨论】:

      【解决方案2】:

      将 TextBox 设置为将文本模式属性设置为“多行”。然后回车将在文本框中。

      另请参阅here,了解有关使用 FireFox 时该怎么做的说明。

      【讨论】:

        【解决方案3】:
            private void textbox1_KeyUp(object sender, KeyEventArgs e)
            {
                if (e.KeyCode == Keys.Enter)
                {
        

        //什么都不做

                }
            }
        

        这可能对你有帮助

        【讨论】:

        • 如果这是 Windows 窗体,那将可以正常工作 - 唉,它是 ASP.NET。
        【解决方案4】:

        处理 onkeypress 事件并执行类似的操作

         if (e.KeyChar == (char)Keys.Enter)
         {
             // set event handled
             e.Handled = true;
         }
        

        【讨论】:

        • 唉,没有 OnKeyPress 事件,因为这是 ASP.NET。
        • javascript 答案应该可以工作。这里有一个帖子解释了为什么这些事件不可用:aspadvice.com/forums/thread/27557.aspx 如果你仔细想想,这很明显。
        猜你喜欢
        • 2021-12-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多