我有一個HTML頁面,並希望禁用鍵盤輸入,只有條形碼掃描儀條目應該允許。 在此先感謝保持條形碼掃描器,但禁用HTML文本框中的鍵盤
回答
您的代碼有誤,e.which/e.keyCode始終返回數字。
您需要檢查這些數字的範圍或檢查輸入的新值。
var tb=document.getElementById('textbox1');
tb.onkeypress = function(e) {
e = e || window.event;
var charCode = (typeof e.which == "number") ? e.which : e.keyCode;
if (charCode < 48 || charCode > 57) {
return false;
}
};
更簡單的方法將使用:
<input type="number" id="textbox2">
這裏要說的是這兩種方法工作的小提琴: http://jsfiddle.net/vgx4unc7/
看看這個jQuery函數:
$(document).ready(function() {
var pressed = false;
var chars = [];
$(window).keypress(function(e) {
if (e.which >= 48 && e.which <= 57) {
chars.push(String.fromCharCode(e.which));
}
console.log(e.which + ":" + chars.join("|"));
if (pressed == false) {
setTimeout(function(){
if (chars.length >= 10) {
var barcode = chars.join("");
console.log("Barcode Scanned: " + barcode);
// assign value to some input (or do whatever you want)
$("#barcode").val(barcode);
}
chars = [];
pressed = false;
},500);
}
pressed = true;
});
});
$("#barcode").keypress(function(e){
if (e.which === 13) {
console.log("Prevent form submit.");
e.preventDefault();
}
});
更改值,抱歉在這裏丟失錯誤的代碼,你的代碼只允許數值,這也可以通過來實現,但我想限制鍵盤輸入,只想使用條形碼掃描器而不是鍵盤輸入網頁。 –
您需要檢查使用條形碼時正在調用哪些事件。 – Saar
我想通過網頁文本框從條形碼中獲取數字後提交表單 –
- 1. Texbox輸入,禁用鍵盤,保持條形碼掃描器
- 2. 鍵盤條形碼掃描儀
- 3. 在webview中調用條形碼掃描器而不是鍵盤
- 4. Winforms按鍵和條形碼掃描器
- 5. 將條形碼掃描到特定的文本框中
- 6. 如何只掃描特定文本框中的條形碼?
- 7. 檢測鍵盤/條形碼掃描儀事件的來源
- 8. 用vb.net掃描條形碼
- 9. 本書條碼掃描器
- 10. 使用的條形碼掃描器功能鍵盤執行兩次
- 11. 自定義鍵盤 - 捕獲條形碼掃描結果
- 12. Android使用條形碼掃描器Zxing
- 13. 在條形碼掃描儀掃描時用java打印條碼
- 14. 條碼掃描器讀取文本框中的值的問題
- 15. 掃描條形碼後填充文本框
- 16. Android Zxing掃描儀無法掃描條形碼模式中的條形碼
- 17. C中鍵盤的掃描碼#
- 18. 條形碼不可掃描
- 19. 掃描圖像(條形碼)
- 20. 條形碼掃描算法
- 21. 從條形碼掃描器中緩衝擊鍵
- 22. iOS 1D/2D條形碼掃描器庫
- 23. Adobe AIR條形碼掃描器
- 24. 條形碼掃描器電話故障
- 25. C#從條形碼掃描器
- 26. API for PDF PDF417條形碼掃描器
- 27. 停止條形碼掃描器刷新
- 28. Phonegap條形碼掃描器插件
- 29. Python evdev和條形碼掃描器
- 30. 可編程條形碼掃描器
你能更具體地說明你已經做了什麼來解決這個問題嗎?什麼不工作?你有什麼錯誤嗎? – zstewart
請將你編輯出來的代碼添加回去,沒有人知道你已經嘗試了什麼。 –
只是讓它只讀,用戶不能編輯它,但你可以通過掃描儀 – ddw147