【发布时间】:2009-12-19 21:38:48
【问题描述】:
我有一个表单,用户在其中扫描条形码,条形码阅读器自动在值中输入回车,导致表单提交,因为浏览器默认选择第一个按钮。在该文本框中输入值时按下回车键时,如何禁止发生任何事情?
【问题讨论】:
标签: c# asp.net javascript
我有一个表单,用户在其中扫描条形码,条形码阅读器自动在值中输入回车,导致表单提交,因为浏览器默认选择第一个按钮。在该文本框中输入值时按下回车键时,如何禁止发生任何事情?
【问题讨论】:
标签: c# asp.net javascript
您需要使用 javascript 来完成。在文本框的标记中,添加一个 onkeydown 处理程序,如下所示:
<asp:TextBox ID="TextBox1" runat="server"
onkeydown = "return (event.keyCode!=13);" >
</asp:TextBox>
如果键是回车键,这将返回 false,这将取消表单提交。
【讨论】:
将 TextBox 设置为将文本模式属性设置为“多行”。然后回车将在文本框中。
另请参阅here,了解有关使用 FireFox 时该怎么做的说明。
【讨论】:
private void textbox1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
//什么都不做
}
}
这可能对你有帮助
【讨论】:
处理 onkeypress 事件并执行类似的操作
if (e.KeyChar == (char)Keys.Enter)
{
// set event handled
e.Handled = true;
}
【讨论】: