[英]How to prevent user from typing in text field without disabling the field?
[英]Prevent user from typing and pasting in text field and allow reading from a USB Barcode reader only
我有一個HTML輸入字段
<input type="text" name="TextBox1" id="TextBox1">
我想防止使用鍵盤鍵入和使用鼠標粘貼,同時只允許輸入來自USB條形碼閱讀器的輸入。 我試過用:
$( document ).ready(function() {
$('#TextBox1').keydown(function(e) {
if ($(e.target).is('input, textarea')) {
e.preventDefault();
}
});
});
但它也會阻止包括USB條形碼掃描器在內的各種來源的輸入。
有什么建議么? 可能嗎?
使用條形碼掃描儀時,您可以預期該字段會被填充大約幾百毫秒,而人類至少需要一到兩秒鍾才能輸入10個數字。 輸入第一個數字后,您可以設置超時,例如300ms。 如果所需的值長度沒有達到300毫米,則只需清除該字段即可。
這並不妨礙某人以高速欺詐性地輸入隨機數字,但畢竟不會信任用戶數據。
編輯:手頭沒有代碼片段,但偽代碼可能是
on keydown
if(value.length < 2)
timeout = now+300
elseif(now > timeout and value-legth < required legth)
value=''
我不確定條碼掃描器會引發什么事,但你試過這個:
<input type="text" name="TextBox1" id="TextBox1" onkeydown="return false;">
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.