回答編集履歴
1
校生
answer
CHANGED
@@ -12,11 +12,18 @@
|
|
12
12
|
> 少数点がフォームに入力された時点で、maxlengthが"5"に書き換わるような実装
|
13
13
|
|
14
14
|
これは発想・着眼点は面白いのですが、
|
15
|
-
10と入力した後の
|
15
|
+
10と入力した後のドットがそのままでは捨てられてしまいます。
|
16
|
-
この捨てられるはずの
|
16
|
+
この捨てられるはずのドットはonkeydownやonkeyupで拾えるんですかね?捨てられるんですかね?(未確認
|
17
|
-
もし捨てられてしまうのであれば、今のカーソル位置に.を含める対応が求められるので無駄に難易度があがると思います。
|
18
17
|
|
18
|
+
まぁ捨てられてしまうならmaxlength拡張後に`.`を補えば良いですが、
|
19
|
+
その後ドットが削られたらmaxlengthは当然"2"に戻るんですよね?
|
20
|
+
ドットが2個に増えた後に1個に減ったら?こんな感じでコードばかり複雑で長くなる筋悪な方針に思えます。
|
21
|
+
|
19
|
-
|
22
|
+
だったら最初から`maxlength="5"`で待ち受け、
|
20
23
|
oninputあたりで毎回の入力を見張って11以上の数値になった場合、
|
21
24
|
ドットが含まれていなければ10、含まれているならば`10.99`を
|
22
|
-
input要素代入させてしまう作りにしたほうが非常に楽に実装出来るでしょう。
|
25
|
+
input要素へ代入させてしまう作りにしたほうが非常に楽に実装出来るでしょう。
|
26
|
+
|
27
|
+
でもこの対応ってまんま`<input type="number" max="10.99" min="0" step="0.05">`なんですよね。
|
28
|
+
input要素のデザインが変わったりするんでしょうか?
|
29
|
+
よくわからん…やっぱり無駄に思えるんですが色々考えてみてください。
|