jquery HTML表单中的首字母字段,

gojuced7  于 6个月前  发布在  jQuery
关注(0)|答案(4)|浏览(76)

对于一个项目,我需要一个初始文本字段,它使用的每一个名字和名称的第一个字母。所以基本上该字段需要自动格式化用户输入。如果我填写我的首字母MGJ,它需要M. G. J.(在每一个字母后,他必须把点)。
注意; Webform是用Webform模块Drupal制作的,所以我只能使用css或JavaScript。
有什么简单的选择吗?
问候,马丁

qco9c6ql

qco9c6ql1#

http://nosir.github.io/cleave.js/你可以使用这个库来格式化你的输入。

或者在JS中这样做

var input = document.querySelector('#initials');
input.addEventListener('focusout', function() {
  this.value = this.value.split('').join('.');
})

个字符

vojdkbi0

vojdkbi02#

你需要做的就是把字符串分开,然后用一个点连接起来。

string.split('').join('.');

字符串

dm7nw8vv

dm7nw8vv3#

迟来的答案;我需要同样的东西,但不满意目前的答案。

document.getElementById('initialsOnly').addEventListener('keyup', function(e) {
    if (e.code === 'Backspace') {
        this.value = this.value.slice(0, -1);
    } else {
        const newString = this.value.replace(/[\W\d]/g, '').split('').join('.').toUpperCase();
        this.value = newString + (newString.length > 0 ? '.' : '');
    }
});

document.getElementById('initialsOnly').addEventListener('input', function(e) {
  e.target.value = e.target.value.toUpperCase();
});

个字符

k4ymrczo

k4ymrczo4#

好吧,我已经找到了自己的解决方案;我用:

`$( document ).ready(function() {
        if ($(".input")[0]){
            $(".input").focusout(function() {
               var initials = this.value.replace(/\./g,'');
               this.value = initials.split('').join('.');
            });
        }
    });
    })( jQuery );`

字符串

相关问题