2012-04-04 57 views
2

我需要使用ASCII(組分隔符)掃描條形碼到HTML輸入字段,並用|替換所有組分隔符。當我第一次將條形碼掃描到Notepad++並將其複製到輸入字段時,下列JavaScript函數可以工作,但是當條形碼直接掃描到輸入字段時,則不能。有什麼問題?將帶有ASCII控制字符的條形碼掃描到輸入字段中

var barcode = document.getElementById('barcode').value; 
barcode = barcode.replace(new RegExp(String.fromCharCode(29), 'g'), '|'); 
alert(barcode); 
+0

可能是瀏覽器的限制。你測試過哪些瀏覽器? – 2012-04-04 07:23:19

+0

Firefox 11和IE 8. – 2012-04-04 07:25:01

+0

掃描條形碼並驗證其中包含ASCII 29值後,您可以使用瀏覽器開發工具檢查放入html輸入字段的數據的值嗎? – 2012-04-04 12:12:55

回答

1

在我的Symbol Tech條形碼掃描儀上,字符作爲擊鍵發送。例如,組分隔符將模擬按住left_control鍵然後發送右括號。您的瀏覽器將處理模擬擊鍵,就好像您試圖使用CTRL + ]一樣快捷。

這裏描述,您可以捕捉的onkeydown這一事件,並event.which: Firefox onkeydown detect pressed key

相關問題