2009-12-19 23 views
11

Tôi có một biểu mẫu mà người dùng quét mã vạch, trình đọc mã vạch tự động nhập dấu xuống dòng trong giá trị khiến biểu mẫu gửi vì trình duyệt chọn nút đầu tiên làm mặc định. Làm thế nào tôi có thể vô hiệu hóa bất cứ điều gì xảy ra khi phím enter được nhấn khi gán một giá trị trong hộp văn bản đó?vô hiệu hóa nút mặc định hoặc nhập khóa trong asp.net C#

Trả lời

19

Bạn sẽ cần phải làm điều đó với javascript. Trong đánh dấu của bạn cho hộp văn bản, thêm một trình xử lý onkeydown như vậy:

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

Điều này sẽ trả về false nếu khóa là khóa nhập, sẽ hủy gửi biểu mẫu.

0
private void textbox1_KeyUp(object sender, KeyEventArgs e) 
    { 
     if (e.KeyCode == Keys.Enter) 
     { 

// không làm gì cả

 } 
    } 

này có thể giúp bạn

+1

Điều đó sẽ hoạt động tốt nếu đây là Windows Forms - than ôi, đó là ASP.NET. –

+0

vâng đúng vậy! – Kubi

0

xử lý các sự kiện onkeypress và làm điều gì đó như thế này

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

Than ôi, không có sự kiện OnKeyPress, vì đây là ASP.NET. –

+0

OnKeyDown? trong hộp văn bản ... –

+0

câu trả lời javascript sẽ hoạt động. Đây là một chuỗi giải thích lý do tại sao những sự kiện này không có sẵn: http://aspadvice.com/forums/thread/27557.aspx Loại hiển nhiên nếu bạn nghĩ về nó. –

4

Đặt TextBox có thuộc tính chế độ văn bản thiết lập để "multiline". Sau đó, vận chuyển trở lại sẽ được trong TextBox.

Xem thêm here để biết lưu ý về việc cần làm nếu bạn đang sử dụng FireFox.

Các vấn đề liên quan