SMUsamaShah
SMUsamaShah

Reputation: 7890

Get text input element having cursor (caret) in JavaScript

How to Get the text element (or its id) in which there is caret?

Upvotes: 1

Views: 1558

Answers (4)

Wolfram
Wolfram

Reputation: 8052

Edit: Guess, I completely misunderstood the word "caret" as it stands for "cursor" in this context... not a native speaker. In case someone looks for a way to find the input which has the "^" character in its value:

Try this plain JavaScript code on jsfiddle:

var inputs = document.getElementsByTagName("input");
var ids = [];
for(var i = 0; i < inputs.length; i++) {
    if(inputs[i].value.match(/.*\^.*/)) {
      ids.push(inputs[i].id);
    }
}

It goes through all "input" elements and filters out those with a caret somewhere in their value. "ids" holds those ids.

Upvotes: 3

Tim Down
Tim Down

Reputation: 324607

document.activeElement will give you this in most browsers.

Upvotes: 3

Zsub
Zsub

Reputation: 1797

For example:

var elementWithFocus;

function updateFocus(callingElement)
{
    elementWithFocus = callingElement;
}

Then in your inputs:

<input onfocus="updateFocus(this);" onblur="updateFocus(null);"></input>

Play around with it on jsfidle.

Upvotes: 0

i100
i100

Reputation: 4666

if you mean how to get text box having focus the answer is you can't.

You could script to "onfocus" event, and record the last-focused field in a variable somewhere. You also have to use "onblur" event to clear last-focused field variable.

HTH

Ivo Stoykov

Upvotes: 1

Related Questions