2017-02-14 11 views
0

プロジェクトでは、fornameとbornnamesの最初の文字を使用する初期のテキストフィールドが必要です。だから、基本的にフィールドはユーザーの入力を自動フォーマットする必要があります。 MGJのイニシャルを記入するとM.G.Jが必要です。 (すべての手紙の後に彼はその点に置かなければならない)。HTMLフォームのイニシャルフィールド

注意してください。 WebformモジュールDrupalで作成されたwebformは、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を使うとき、彼はA.B.Cでうまく分割しますが、ABCに参加することは可能です。 Cの後に、fromとtypを使用してドットを入力すると、A..B..C ..のような出力が得られます。あるいは、ドットを取得しようとしたときに、1つのドットのみを1つに分割します。 focusout(function(){this.value.split( '')})このように、私はこのようなものを使用しています:if($( "input-initialen")[0] .join( '。');}); } – dutchsociety

2

でこのようにそれを行うことができますあなたがする必要があるすべてはあなたの文字列を分割して、ドットで参加することです。

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

これはオランダのポストコードでも可能ですか?ように:1234 AB? – dutchsociety

+1

あなたが文字列を分割すると、実際には配列の魔法使いを作成しているので、すべての文字がこのような配列の要素として保持されます。 'hello'.split(' ')は[' h '、' e '、' l '、' l '、' o ']を返すので、それを使用することができます –

+1

答えとあなたの説明をありがとう。 – dutchsociety

0

私はすでに自分の解決策を見つけました。私は使用しました:

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