条形码扫描器的回车问题。。。

why1980sy 2008-12-01 08:17:56
条形码扫描器的回车问题。。。

现在在做一个程序,
有个文本框,一个读入BUTTON
要求:在文本框中输入条形码按回车,处发读入BUTTON按下的事件,
或是条形码扫描器读入数据(自带回车)后处发读入BUTTON按下的事件.

可是
用条形码扫描器读入数据(自带回车)的时候,
没有处发读入BUTTON按下的事件,

但是,在文本框中输入条形码按回车,
就能处发读入BUTTON按下的事件,
我想问一下,有没有哪位高人知道,条形码扫描器的回车,
和我在键盘下按下回车有什么不同呀。


贴上我的JS代码:

document.onkeydown = function keyDown(e){
if (!e) var e = window.event
if (e.keyCode) keyCode = e.keyCode;
else if (e.which) keyCode = e.which;
var txtInput = document.getElementById("barcode");
if(keyCode==123 ){
txtInput.focus();
}else if(keyCode==13 ){
document.all('btnbcr').focus();
}
}

...全文
1248 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
不悲不喜 2008-12-03
  • 打赏
  • 举报
回复
楼主的问题解决了?
18楼的代码和我在13楼的代码完全一样呀!!!
zhuxianzhu 2008-12-03
  • 打赏
  • 举报
回复
<script language="javascript">
document.onkeydown = function keyDown(e){
if (!e) var e = window.event
if (e.keyCode) keyCode = e.keyCode;
else if (e.which) keyCode = e.which;
var txtInput = document.getElementById("barcode");
if(keyCode==123 ){
txtInput.focus();
}else if(keyCode==13 ){
document.all('form1').submit();
}
}
</script>
不悲不喜 2008-12-03
  • 打赏
  • 举报
回复
把你的代码帖出来吧。
why1980sy 2008-12-03
  • 打赏
  • 举报
回复
说的是keyCode吧。。。
if(keyCode==123 ){
txtInput.focus();
}else if(keyCode==13 ){
alert(keyCode);
document.all('btnbcr').focus();
}
加上alert(keyCode);的时候,
不管是条形码扫描器,还是键盘的回车
keyCode的值都是13..

不悲不喜 2008-12-02
  • 打赏
  • 举报
回复
有些奇怪呀,
那么你在onkeydown事件中是否检测到了charCode==13呢,
如果没有那个时候检查到的是多少?
不悲不喜 2008-12-02
  • 打赏
  • 举报
回复
应该是程序处理的问题。

}else if(keyCode==13 ){
document.all('btnbcr').focus();
}


这个地方中是让按钮聚焦,
并不会触发按钮按下。
其实你只要调用表单的 submit方法就可以了。
举例

<form name="form1" id="form1">
<input type="text" name="barcode" value="" onkeydown="keyDown(event);">
<input type="submit" name="submit">
</form>
<script language="javascript">
document.onkeydown = function keyDown(e){
if (!e) var e = window.event
if (e.keyCode) keyCode = e.keyCode;
else if (e.which) keyCode = e.which;
var txtInput = document.getElementById("barcode");
if(keyCode==123 ){
txtInput.focus();
}else if(keyCode==13 ){
document.all('form1').submit();
}
}
</script>
why1980sy 2008-12-02
  • 打赏
  • 举报
回复
onclick的方法我也试过了,能处发读入BUTTON按下的事件,但处发了二次:(
所以我郁闷啊。。。。
不悲不喜 2008-12-02
  • 打赏
  • 举报
回复
如果,btnbcr是一个submit控件的话,
直接调用 formObj.submit().
这里的formObj是指要提交的form对象。
不悲不喜 2008-12-02
  • 打赏
  • 举报
回复
看了一下你的代码,

document.all('btnbcr').focus();

把这一句改成调用 btnbcr的onclick事件处理函数调用就可以了。
不悲不喜 2008-12-02
  • 打赏
  • 举报
回复
你在textbox中也加入onkeydown处理试试。
why1980sy 2008-12-02
  • 打赏
  • 举报
回复
我试过了,能激发onkeydown。
alert(keycode) 的值是13

可就是不能处发读入BUTTON按下的事件
不悲不喜 2008-12-02
  • 打赏
  • 举报
回复
我也只是猜测,
请先确认一下在扫描完条码的时候会不会激发onkeydown,或者onkeyup,onkeypress事件,
在里面加入alert();就可以。
然后说明一下结果。
why1980sy 2008-12-02
  • 打赏
  • 举报
回复
TO:syukugai
请问怎么要JS中判断回车符(\n)呢。
RUN_ 2008-12-02
  • 打赏
  • 举报
回复
你这里用onkeyup更好。
why1980sy 2008-12-02
  • 打赏
  • 举报
回复
问题还是没有解决!!!
不过还是要谢谢syukugai。。
不悲不喜 2008-12-01
  • 打赏
  • 举报
回复
你试试在onpropertychange事件中跟踪一下value变化。
不悲不喜 2008-12-01
  • 打赏
  • 举报
回复
估计条形码扫描器只是向文本框中入力了一个回车符(\n)。
并没有向系统发送按键消息。
阿云ivan 2008-12-01
  • 打赏
  • 举报
回复
没用过
小逗狗 2008-12-01
  • 打赏
  • 举报
回复
不行你就调用onchange事件,然后再调用相关的程序
    本课程分享对由中国开发者提供的OpenCV条形码识别模块的原理和代码精讲。该模块借鉴“目标识别”领域先进理念,采用“定位-识别”二段模式,有效提高了自然环境下条码识别的准确率并保持了C++代码的高速度,相比较常用的zxing和zbar在准确率和识别速度上均有较大优势。更难得可贵的是在代码的实现过程中能够注意细节,在诸如“循环测试确定参数数值”“积分图的使用”“倾斜矩形纠偏”等处,均提供了思路清晰、弹性高的优质代码。作为一套通过了OpenCV官方的代码检验、解决一个常用领域内具体问题的模块,对于图像处理学习来说是难得可贵的。    逐条进行代码解读繁琐且低效,个人认为,在图像处理领域,能够运行和修改观察的代码对于学习研究至关重要。在理论剖析部分,也是由应用引导原理。同时做好知识的迁移和代码的复用工作。在这个过程中,创建针对性的实验非常重要。 课程内容分为4个部分:一是基本配置,包括· 条形码识别模块的安装使用 (cmake配置和OpenCV编译);· 构建用于测试和代码阅读的环境;· 模块对官方数据集的测试;二是条码定位,将详细讲解思路、原理和实现知识迁移部分将简单说一下在毛发识别上的迁移:三是条码识别,该部分内容会首先梳理框架,而后具体进行分析讲解    此外,我们将结合例子,将OpenCV的基础功能,包括积分图像、形态学变化、联通区域、透视变化等进行复习,加深理解。 

87,925

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧