2017-03-14 95 views
0

我使用<div><a>標籤創建了HTML中的屏幕鍵盤。在頁面上有六個文本輸入(名字,暱稱,姓氏,筆記,過敏,mobileNumber)。我對JS並不擅長,但如果頁面上只有一個輸入,我知道該怎麼做,但我不知道如何在有多個輸入時執行此操作。我一直在努力的部分是輸入框在我點擊一個字母后立即失去焦點。當HTML鍵盤按鈕按下時,將文本添加到輸入字段(焦點所在的字段)

如何將字母添加到所選輸入並且不會失去對該輸入的注意力?這是我使用的信追加到一個輸入時,它是頁面上的唯一輸入:

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

HTML鍵盤按鈕 - 只有一個字母,但它是所有字母和數字相同的風格/設置:

<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

當然,它會(儘管它沒有它:)),謝謝。糾正。 –

相關問題