Input ermitteln, wo Cursor steht

Nikolai

Grünschnabel
Hi !
Ich möchte gern feststellen in welche Input mein Cursor steht.
Mit einem Trick hab ich das geschafft. Sieh unten.

Ich möchte später mit document.selection.createRange() arbeiten,
aber das funktioniert nur wenn ich richtig focus() setze.
Hat jemand andere Lösung? Ist das möglich in JavaScript?

<HTML>
<HEAD><TITLE>Focus</TITLE>
<SCRIPT language=JavaScript >

function initInp(color)
{ document.getElementById("inpId").style.background = color;
}

function suchen()
{
bgClr = document.getElementById("inpId").style.backgroundColor;
if(bgClr=="" ) feld="i1";
if(bgClr=="#000001" || bgClr=="rgb(0, 0, 1)") feld="i1";
if(bgClr=="#000002" || bgClr=="rgb(0, 0, 2)") feld="i2";
if(bgClr=="#000003" || bgClr=="rgb(0, 0, 3)") feld="i3";

document.getElementById(feld).focus();

document.selection.createRange().text="Bla-";
document.selection.createRange().collapse(false);
document.selection.createRange().select();

document.selection.createRange().parentElement().focus();
}

</SCRIPT>
</HEAD>

<BODY>
<div id="inpId" style="background-color:#000001; width:0;height:0; visibility:hidden"></div>

<FORM action="">
Feld 1 <INPUT size=50 id="i1" onfocus="initInp('#000001');" ><br>
Feld 2 <INPUT size=50 id="i2" onfocus="initInp('#000002');" ><br>
Feld 3 <INPUT size=50 id="i3" onfocus="initInp('#000003');" ><br>
</FORM>

<img src="i/Bild1.bmp" ID="Button" onClick="suchen();">

</BODY>
</HTML>
 
Mmmmh .... wenn das <input> keinen Fokus hat, befindet sich der Cursor auch nicht im Selbigen, dann gibt es dann auch keine Cursorposition darin zu erfragen....oder hab ich dich falsch verstanden?
 
Nö, nicht das ich wüsste...entweder hat was den Fokus, oder nicht:( ...Javascript merkt sich nicht, wo der Fokus einmal war.

Du könntest höchstens ne Extra-Funktion machen, welche beim onfocus/onclick eines <input>'s die dortige Cursorposition in einer Variablen speichert, auf welche du dann später zugreifst.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück