HTML表单中的缩写字段,

时间:2017-02-14 11:17:27

标签: javascript jquery html css drupal

对于一个项目,我需要一个初始文本字段,它使用forname和bornnames的每个第一个字母。所以基本上该字段需要由用户自动输出输入。如果我填写我的名字缩写MGJ,它需要是M.G.J. (在他必须提出的每一封信之后)。

注意; 使用Webform模块Drupal制作的webform,所以我只能使用css或Javascript。

是否有一些简单的选择?

此致 马亭

4 个答案:

答案 0 :(得分:2)

http://nosir.github.io/cleave.js/您可以使用此库以简单的方式格式化您的输入。

或者你可以在JS

中这样做



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

<input type="text" id="initials" />
&#13;
&#13;
&#13;

答案 1 :(得分:2)

您需要做的就是拆分字符串,然后用点加入。

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

答案 2 :(得分:0)

Oke我已经找到了我自己的解决方案;我用过:

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

答案 3 :(得分:0)

最新答案;我需要同样的东西,但对当前的答案不满意。

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 ? '.' : '');
    }
});
<input id="initialsOnly" type="text" />