4

我的网页中有 4 个文本框和一个提交按钮。假设用户在 2 个字段中输入数据,然后单击提交按钮。我现在想知道在单击提交按钮之前光标位于哪个文本框中。

关于如何在 Javascript 中执行此操作的任何想法?

4

3 回答 3

3

您正在寻找document.activeElement,它返回当前聚焦的元素。

于 2013-08-30T16:59:03.973 回答
2

你可以使用 document.activeElement

这是相同的简单示例。

<head>
    <script type="text/javascript">
        function GetActive () {
            if (document.activeElement) {
                var output = document.getElementById ("output");
                output.innerHTML = document.activeElement.tagName;
            }
        }
    </script>
</head>
<body onclick="GetActive ();">
    Click anywhere on the page to get the active element
    <input id="myInput" value="input field" />
    <button>Sample button</button>
    <div id="output"></div>
</body>
于 2013-08-30T17:18:05.183 回答
2

您的问题确实在 javascript中明确说明,但这里的 FWIW 是 jQuery 中的另一个选项:

在这里工作 jsFiddle

HTML:

<input id="in1" type="text" /><br />
<input id="in2" type="text" /><br />
<input id="in3" type="text" /><br />
<input id="in4" type="text" /><br />
<input type="button" id="mybutt" value="Submit" />

jQuery:

var inFocus = false;

$('input, textarea').focus(function() {
  inFocus = $(this).attr('id');
});

$('#mybutt').click(function() {
    alert('Cursor was last in element id: ' + inFocus);
});
于 2013-08-30T18:11:50.260 回答