将带有ASCII控制字符的条形码扫描到输入字段中
问题描述:
我需要使用ASCII(组分隔符)扫描条形码到HTML输入字段,并用|替换所有组分隔符。当我第一次将条形码扫描到Notepad++并将其复制到输入字段时,下列JavaScript函数可以工作,但是当条形码直接扫描到输入字段时,则不能。有什么问题?将带有ASCII控制字符的条形码扫描到输入字段中
var barcode = document.getElementById('barcode').value;
barcode = barcode.replace(new RegExp(String.fromCharCode(29), 'g'), '|');
alert(barcode);
答
在我的Symbol Tech条形码扫描仪上,字符作为击键发送。例如,组分隔符将模拟按住left_control键然后发送右括号。您的浏览器将处理模拟击键,就好像您试图使用CTRL + ]一样快捷。
这里描述,您可以捕捉的onkeydown这一事件,并event.which: Firefox onkeydown detect pressed key
可能是浏览器的限制。你测试过哪些浏览器? – 2012-04-04 07:23:19
Firefox 11和IE 8. – 2012-04-04 07:25:01
扫描条形码并验证其中包含ASCII 29值后,您可以使用浏览器开发工具检查放入html输入字段的数据的值吗? – 2012-04-04 12:12:55