javascript – 在多个输入字段上粘贴多个数字
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 在多个输入字段上粘贴多个数字,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2087字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 在多个输入字段上粘贴多个数字](/upload/InfoBanner/zyjiaocheng/700/4a1ee341cea54463801b73bb164f7f9d.jpg)
我在我的网站上有一个使用6个输入字段的表单.网站访问者只需在这6个框中输入一个6位数的代码.问题是他们将得到6位数的代码,并且理想的是允许他们简单地将我们发送到他们的6位数代码复制到这些输入字段中,只需将粘贴放入第一个输入字段并使剩下的5位数字去进入剩下的5个输入字段.它只比让每个数字手动输入每个输入字段容易得多.
这是我们目前使用的代码,但可以轻松更改以完成上述内容:
<input type="text" maxlength="1" class="def-txt-input" name="chars[1]">
<input type="text" maxlength="1" class="def-txt-input" name="chars[2]">
<input type="text" maxlength="1" class="def-txt-input" name="chars[3]">
<input type="text" maxlength="1" class="def-txt-input" name="chars[4]">
<input type="text" maxlength="1" class="def-txt-input" name="chars[5]">
<input type="text" maxlength="1" class="def-txt-input" name="chars[6]">
我在这里看到了类似的帖子:Pasting of serialnumber over multiple textfields
但它没有我想要的解决方案.理想情况下,这可以使用jQuery或纯JavaScript来实现.
解决方法:
编辑
我不喜欢我在粘贴事件中使用的计时器解决方案以及仅使用输入或粘贴事件的复杂性.
看了一会儿后,我添加了一个使用2之间混合的解决方案.
代码似乎完成了现在所需的一切.
剧本:
var $inputs = $(".def-txt-input");
var intRegex = /^\d+$/;
// Prevents user from manually entering non-digits.
$inputs.on("input.fromManual", function(){
if(!intRegex.test($(this).val())){
$(this).val("");
}
});
// Prevents pasting non-digits and if value is 6 characters long will parse each character into an individual box.
$inputs.on("paste", function() {
var $this = $(this);
var originalValue = $this.val();
$this.val("");
$this.one("input.fromPaste", function(){
$currentInputBox = $(this);
var pastedValue = $currentInputBox.val();
if (pastedValue.length == 6 && intRegex.test(pastedValue)) {
pasteValues(pastedValue);
}
else {
$this.val(originalValue);
}
$inputs.attr("maxlength", 1);
});
$inputs.attr("maxlength", 6);
});
// Parses the individual digits into the individual boxes.
function pasteValues(element) {
var values = element.split("");
$(values).each(function(index) {
var $inputBox = $('.def-txt-input[name="chars[' + (index + 1) + ']"]');
$inputBox.val(values[index])
});
};?
见DEMO
内容总结
以上是互联网集市为您收集整理的javascript – 在多个输入字段上粘贴多个数字全部内容,希望文章能够帮你解决javascript – 在多个输入字段上粘贴多个数字所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。