看看这张图片:
我想设计像在图像中的东西,其中一个4位数的一次性密码(OTP)是由用户输入.现在我已经实现了这4个单独的输入,然后在JavaScript值相结合:
<input type="text" class="form-control" placeholder="0" maxlength="1" />
<input type="text" class="form-control" placeholder="0" maxlength="1" />
<input type="text" class="form-control" placeholder="0" maxlength="1" />
<input type="text" class="form-control" placeholder="0" maxlength="1" />
我不确定这是否是正确的方法。我认为必须有一些样式选项,其中一个输入文本框将显示为分区的一个像在图像中。是否可以使用引导?如何样式一个输入控件显示为分区的输入字段?
8条答案
按热度按时间6kkfgxo01#
您不必保留四个单独的字段。
首先,你应该调整字符间距,然后调整底部的边框样式.
--编辑以修复4个字符丑陋的5个下划线--
一个一个二个一个一个一个三个一个一个一个一个一个四个一个
我认为这可以作为一个起点。
希望这能帮上忙...
nwlqm0z12#
我知道这个问题已经很老了。我是在试图为我的项目实现同样的目标时偶然发现的。
我找不到我需要的东西。所以我用这里的想法自己做了一个
你可以使用任意数量的字符,只要所有的输入字段都在一个
div
和id="otp"
中,就不需要在javascript中做任何改变。看一下代码here
6rvt4ljy3#
这对我来说没有任何额外的javascript代码。
yhuiod9q4#
希望这个解决方案对您有所帮助,如果您愿意,可以从input元素中删除onfocus事件。
mwngjboj5#
我只想保留这4个单独字段的方法,并向所有字段添加相同的事件处理程序,这将:
1.检查输入是否有效(在character类中,你愿意接受)
1.检查您所在的字段,然后将焦点移到下一个字段或“确定”按钮。
你甚至可以为此编写一个单独的JS,并重用它。
scyqe7ek6#
只是改变了Midhun Monachan的片段添加复制粘贴功能。
zf9nrax17#
如果使用AngularJS,可以使用下面的指令
在HTML中添加
在您的控制器中添加
Plunker link
UI component look and feel
https://github.com/amstel91/otp-input-directive
rfbsl7qr8#