我被要求进行一个非常简短的简单项目,允许读取身份证的磁条,如果支付或未支付会费,则显示数据库的结果。
我有这一切工作,并试图删除一些恼人的行为。磁带信息以具有单个输入文本字段的形式被捕获。用户必须单击“提交”以进入第二个隐藏页面,在该页面中我解析信息并分配给变量,为数据库搜索做准备。
我想删除用户必须按提交按钮的要求。似乎我应该能够触发输入变量的长度大于0。
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
。
<body onload = document.get_id.fID_Num.focus();>
。
<form id="get_id" name="get_id" method="post" action="card_swipe_process.asp">
<table width="100%" border="5" cellpadding="2">
<tr>
<td width="45%" class="PIN_LABEL">Swipe ID Card</td>
<td width="10%"> </td>
<td width="45%"><label for="fID_Num"></label>
<input name="fID_Num" type="text" id="fID_Num" maxlength="15" /></td>
</tr>
<tr>
<td class="PIN_LABEL"> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td class="PIN_LABEL"> </td>
<td> </td>
<td><input type="submit" name="ID_NUM_ENTER" id="ID_NUM_ENTER" value="Submit" /></td>
</tr>
</table>
</form>
答案 0 :(得分:2)
我假设您在某处读取了卡号并将其放入包装盒中。只需将document.getElementById('get_id').submit()
添加到该代码即可。这样,如果需要,用户仍然可以输入数字。
答案 1 :(得分:2)
条码阅读器的问题完全与“键盘楔”有关。
启动计时器300毫秒。每次“击键”清除后重新启动计时器。一旦计时器超时,请提交表格。
请参阅:How can I call a function after a person stops typing?
var timer;
function onKeyUpHandler(e){
timer = setTimeout(function() {document.get_id.submit()}, 300)
}
function onKeyDownHandler(e) {
clearTimeout(timer);
}
答案 2 :(得分:1)
<script>
function sub(){
var id = document.getElementById('ID_NUM_ENTER').value;
if(id.length >= 0)
document.getElementByTagName('form').submit();
</script>
这必须起作用,我建议你在处理数据库时使用ajax,它的工作速度更快。