teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

回答を追加

2018/04/03 05:52

投稿

defghi1977
defghi1977

スコア4756

answer CHANGED
@@ -1,7 +1,32 @@
1
- 前提がバーコードリーダーによるコード取り込みとことしたので、回答を取り下げます.
1
+ 例えばこのようすればのでは?
2
2
 
3
+ ```HTML
4
+ <label><input id="input" maxlength="13"></label>
5
+ <div id="inputs"></div>
6
+ ```
7
+
8
+ ```JavaScript
9
+ "use strict";
10
+ {
11
+ const childs = inputs.childNodes;
12
+ input.oninput = e => {
13
+ if(input.value.length >= 13){
14
+ inputs.insertAdjacentHTML("beforeend", `<input name="code" readonly value="${input.value}"/>`);
15
+ input.value = "";
16
+ }
17
+ if(childs.length >= 20){
18
+ input.disabled = true;
19
+ }
20
+ }
21
+ }
22
+ ```
23
+ 入力対象の`input`要素を変更しようとするのではなく, 入力内容をもとに入力済みの`input`要素を追加していくようにすれば動作がシンプルになります.
24
+ ※なお、このコードがバーコードリーダ環境下で正しく動作するかは判りませんので、よく動作検証をして下さい.
25
+
26
+
27
+
3
28
  ---
4
-
29
+ 前提がバーコードリーダーによるコード取り込みとのことでしたので、回答を取り下げます.
5
30
  >
6
31
  - 現在のソースではあらかじめテキストボックス用意してカーソルをフォーカスしておりますが、
7
32
  テキストボックスに13文字文字を入力すると、別のテキストボックスが改行されて自動生成され、そのテキストボックスにフォーカスする仕様にしたいと考えています。

1

回答を取り下げ

2018/04/03 05:52

投稿

defghi1977
defghi1977

スコア4756

answer CHANGED
@@ -1,3 +1,7 @@
1
+ 前提がバーコードリーダーによるコード取り込みとのことでしたので、回答を取り下げます.
2
+
3
+ ---
4
+
1
5
  >
2
6
  - 現在のソースではあらかじめテキストボックス用意してカーソルをフォーカスしておりますが、
3
7
  テキストボックスに13文字文字を入力すると、別のテキストボックスが改行されて自動生成され、そのテキストボックスにフォーカスする仕様にしたいと考えています。