javascript - 使用 jQuery/Javascript 自动将数据填充到字段中

标签 javascript jquery swipe

我有一个护照扫描仪,它可以扫描文档并在每次新扫描时打印出以下格式。它会开始将其写入它看到的任何打开的文本区域。

START
Surname: SOMETHING
Forenames: NAME
Date of Birth: 10-10-91
Expiry Date:
Issue Date:
Document: PASSPORT
Doc. Number: 150150150
Issuing State: USA
Nationality: USA
Address Street:
Address City:
Address State:
Address Postal Code:
Address Country: USA
Height:
Weight:
Hair Color: BLACK
Eye Color: RED
END

信息进入文本字段,如下所示:

enter image description here

我想为这些信息准备字段,当我刷护照时,它会把它们全部填满。我从来没有过期过这样的事情,正在寻找如何解决这个问题的想法?

表单可以如下所示:

<form class="form-horizontal">
<fieldset>

<!-- Form Name -->
<legend>Passport scanner</legend>

<!-- Text input-->
<div class="control-group">
  <label class="control-label" for="surname">Surname</label>
  <div class="controls">
    <input id="surname" name="surname" type="text" placeholder="" class="input-xlarge">

  </div>
</div>

<!-- Text input-->
<div class="control-group">
  <label class="control-label" for="forenames">Forenames</label>
  <div class="controls">
    <input id="forenames" name="forenames" type="text" placeholder="" class="input-xlarge">

  </div>
</div>

</fieldset>
</form>

最佳答案

你可以使用一点 jQuery 从你的数据生成表单,尽管你可能真的需要一个静态表单 -

$(document).ready(function() {
  var passportArray = $("#scanned").val().trim().split("\n");
  passportArray.shift();
  passportArray.pop();
  for (var i = 0; i < passportArray.length; i++) {
    var line = passportArray[i].split(":");
    var name = line[0].trim().toLowerCase().replace(/ /g, "_");
    var $div = $("<div>").attr("class", "control-group");
    $div.append("<label>").attr({
      class: "control-label",
      for: name
    }).text(line[0]);
    var $innerDiv = $("<div>").attr("class", "controls");
    var $input = $("<input>").attr({
      id: name,
      name: name,
      type: "text",
      placeholder: "",
      class: "input-xlarge"
    }).val(line[1].trim());
    $innerDiv.append($input);
    $div.append($innerDiv);
    $("#passport_form fieldset").append($div);
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="scanned">
  START 
  Surname: SOMETHING 
  Forenames: NAME 
  Date of Birth: 10-10-91 
  Expiry Date: 
  Issue Date: 
  Document: PASSPORT 
  Doc. Number: 150150150 
  Issuing State: USA 
  Nationality: USA 
  Address Street: 
  Address City: 
  Address State: 
  Address Postal Code: 
  Address Country: USA 
  Height: 
  Weight: 
  Hair Color: BLACK 
  Eye Color: RED 
  END
</textarea>

<form id="passport_form" class="form-horizontal">
  <fieldset>

    <!-- Form Name -->
    <legend>Passport scanner</legend>

  </fieldset>
</form>

关于javascript - 使用 jQuery/Javascript 自动将数据填充到字段中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32230068/

相关文章:

javascript - 如何在不使用 jQuery 的情况下使用 onclick 函数检查类名

json - 将 json 对象发布到 MVC3 Controller , bool 值始终为 false

android - 从安卓手机的角落和边缘滑动

类似于 SQL "like"的 JavaScript 运算符

javascript - 检查输入值是否包含门牌号和可能的分机号

javascript - 如何通过箭头键 jquery 移动 img

javascript - 使用 jquery 和 HTML5 数据属性为背景颜色设置动画

actionscript-3 - 触控应用程式的滑动行为

ios - 如何使用 UISwipeGestureRecognizer 滑动以滑入并刷新相同的 uitableview

javascript - 如果是移动浏览器,请在 jquery 中清空一个 div