2017-03-14 11 views
0

<div><a>タグを使用してHTMLでスクリーンキーボードを作成しました。このページには、6つのテキスト入力(firstName、nickname、lastName、notes、allergies、mobileNumber)があります。私はJSでそれほど素晴らしいとは言えませんが、ページに入力が1つしかない場合はどうすればいいのか分かりますが、複数の場合にはどうすればよいかわかりません。私が苦労しているのは、手紙をクリックするとすぐに入力ボックスがフォーカスを失うということです。htmlキーボードボタンが押されたときに、入力フィールド(フォーカスがあるもの)にテキストを追加します。

選択した入力にその文字を追加し、その入力にフォーカスを置かないようにするにはどうすればよいですか?

var setClickEvents = function() {    
    $('.keyboard a.digit').unbind('click').click(function() { 
     $name = $("input[id$='tbSearchBox']"); 
     $name.val($name.val() + $(this).html()); 
    }); 
} 

HTMLのキーボードボタン - ちょうど1文字が、それは、すべての文字と数字のために、同じスタイル/セットアップです:これは、私はそれがページ上でのみ入力されたときに一方の入力に文字を追加するために使用するものです:

<a href="#" class="btn btn-default btn-lg digit">q</a> 

答えて

0

いくつかのグローバル変数に、フォーカスされた入力への参照を保存することができます。
とテキスト追加機能で、バックフォーカスを設定する

<html> 
    <body>  
     <script> 
      var selectedInputId; 

      function clickBtn(key) { 
       if (selectedInputId != null) { 
        selectedInputId.value = selectedInputId.value + key.innerHTML; 
        selectedInputId.focus(); 
       } 
      } 
     </script> 

     <a href="#" class="btn btn-default btn-lg digit" onclick="javascript:{clickBtn(this)}">q</a> 

     <input type="text" id="id1" onfocus="javascript:{selectedInputId=this;}" /> 
     <input type="text" id="id2" onfocus="javascript:{selectedInputId=this;}" /> 
     <input type="text" id="id3" onfocus="javascript:{selectedInputId=this;}" /> 
     <input type="text" id="id4" onfocus="javascript:{selectedInputId=this;}" /> 
    </body> 
</html> 
+0

をそれを使用するには、これは私がそれを行うために必要なものを私を得ました。ありがとうございました。また、 'selectedInputId.value = selectedInputId.value + key.innerHTML'は最後にセミコロンが必要です。 – BGamache

+0

確かに、それは(それがなくても:) :)、ありがとうございます。修正されました。 –

関連する問題