按下html键盘按钮时,将文本添加到输入字段(具有焦点的字段)

时间:2017-03-14 23:33:04

标签: javascript html asp.net

我使用<div><a>标签在HTML中创建了一个屏幕键盘。在页面上有六个文本输入(firstName,昵称,lastName,笔记,过敏,mobileNumber)。我在JS上的表现不是很好,但如果页面上只有一个输入,我知道该怎么做,但是当有多个输入时我不知道怎么做。我正在努力的部分原因是,一旦我点击一封信,输入框就会失去焦点。

如何将字母附加到所选输入而不会忽略该输入?这是我用来在一个输入上添加一个字母时,它是页面上的唯一输入:

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>

1 个答案:

答案 0 :(得分: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>