填充时自动提交单个表单输入框

时间:2012-12-13 14:52:02

标签: javascript

我被要求进行一个非常简短的简单项目,允许读取身份证的磁条,如果支付或未支付会费,则显示数据库的结果。

我有这一切工作,并试图删除一些恼人的行为。磁带信息以具有单个输入文本字段的形式被捕获。用户必须单击“提交”以进入第二个隐藏页面,在该页面中我解析信息并分配给变量,为数据库搜索做准备。

我想删除用户必须按提交按钮的要求。似乎我应该能够触发输入变量的长度大于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%">&nbsp;</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">&nbsp;</td>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
      </tr>
      <tr>
          <td class="PIN_LABEL">&nbsp;</td>
          <td>&nbsp;</td>
          <td><input type="submit" name="ID_NUM_ENTER" id="ID_NUM_ENTER"              value="Submit" /></td>
      </tr>
  </table>
</form>

3 个答案:

答案 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,它的工作速度更快。