2017-02-14 4 views
0

Для проекта мне нужно исходное текстовое поле, которое использует каждую первую букву имени forname и bornnames. Поэтому в основном поле должно автоматически формировать вход пользователя. Если я заполню мои инициалы MGJ, это должно быть M.G.J. (после каждой буквы он должен поставить точку).Поле Initials в HTML-форме,

Знайте; Веб-форма, созданная с помощью Webform-модуля Drupal, поэтому я могу использовать только css или Javascript.

Есть ли какой-то простой вариант для этого?

С уважением, Мартейн

+0

Ну, вам нужно использовать js для этого. – Aslam

+0

Да, я указывал на это, у вас есть несколько советов или примеров? – dutchsociety

ответ

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" />

+1

Спасибо за ваш комментарий, он работает для меня! – dutchsociety

+0

Привет, Амир, у меня есть еще один вопрос по этому поводу, на самом деле это отлично работает, но когда люди используют ABC, он разделяет nicelly в A.B.C, но возможно ли присоединиться к a. после C, вызывают, если люди, которые используют значение from и typ в точке, тогда я получаю вывод, например: A..B..C .., или, возможно, попытайтесь извлечь точки и установить только одну точку в одном расколе. Теперь я использую что-то вроде этого: if ($ (". Input-initialen") [0]) {$ (". Input-initialen"). Focusout (function() {this.value.split ('') .присоединиться('.'); }); } – dutchsociety

2

все, что вам нужно сделать, это разделить вашу строку, а затем присоединиться с точкой.

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

Возможно ли это также с голландским почтовым кодом? Например: 1234 AB? – dutchsociety

+1

, когда вы разделяете строку с '' actualy, вы создаете массив, который удерживает каждую букву как элемент вашего массива, подобный этому. 'hello'.split (' ') вернет [' h ',' e ',' l ',' l ',' o '], так что да, вы можете использовать его –

+1

Спасибо за ответ и ваше объяснение. – dutchsociety

0

Oke Я все уже нашел решение своим; i используется:

`$(document).ready(function() { 
     if ($(".input")[0]){ 
      $(".input").focusout(function() { 
       var initials = this.value.replace(/\./g,''); 
       this.value = initials.split('').join('.'); 
      }); 
     } 
    }); 
    })(jQuery);` 
Смежные вопросы