簡體   English   中英

防止用戶在文本字段中鍵入和粘貼,並僅允許從USB條形碼閱讀器讀取

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM