У меня есть форма, где пользователи сканируют в штрихкоде, считыватель штрихкода автоматически вводит возврат каретки в значение, заставляющее форму отправлять, так как браузер выбирает первую кнопку в качестве значения по умолчанию. Как я могу отключить что-нибудь от случая, когда клавиша Enter нажимается при вводе значения в том текстовом поле?
Вы нужно сделать это с помощью javascript. В разметке текстового поля добавьте обработчик onkeydown, например:
<asp:TextBox ID="TextBox1" runat="server"
onkeydown = "return (event.keyCode!=13);" >
</asp:TextBox>
Это вернет false, если ключ был ключом ввода, что отменит отправку формы.
Установите для TextBox свойство текстового режима, установленное на "multiline". Тогда возврат каретки будет в TextBox.
См. Также здесь , чтобы узнать, что делать, если вы используете FireFox.
обрабатывать событие onkeypress и делать что-то вроде этого
if (e.KeyChar == (char)Keys.Enter)
{
// set event handled
e.Handled = true;
}
private void textbox1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
// ничего не делать
}
}
это может вам помочь