Avatar billede Mik2000 Professor
11. marts 2011 - 16:19 Der er 4 kommentarer og
3 løsninger

Tjek hvilket felt der er i fokus

Hej

Er der en måde hvorpå man kan finde ud af hvilket felt der er i fokus, som virker i alle browsere og som ikke kræver eksterne ting som jquery?
Avatar billede Bdev Nybegynder
11. marts 2011 - 18:12 #1
Nu skriver du ikke hvad du skal bruge det til og hvordan det skal bruges, men jeg har vedhæfter et MEGET simpelt forslag.

Det du primært skal bruge fra eksemplet er onfocus().

<script>
var theName = '';

function setFocus(myName) {
theName = myName;
}

function isFocus() {
alert(theName);
}

</script>

<body>


<form>
<input type="text" name="one" onfocus="setFocus(this.name)">
<input type="text" name="two" onfocus="setFocus(this.name)">
</form>

<a href="#" onclick="isFocus()">Hvilket felt er i focus?</a>

</body>

Du er velkommen til at kontakte mig, hvis du ikke kan få det til at virke. Du kan kontakte mig via http://www.nolas.dk
Avatar billede intenz Novice
11. marts 2011 - 18:32 #2
Ja, men ikke direkte. Du er nødt til at tilføje en onfocus event på alle dine felter. Så får du input elementet med focus, når focus er sat.

F.eks. sådan:

<html>
<script type="text/javascript">

window.onload = function() {
  var inputs = document.getElementsByTagName('input');
  for (var i=0; i<inputs.length; i++) {
    inputs[i].onfocus = function() {

      // gør noget med input elementet ('this')
      alert(this.id);

    }
  }
}

</script>

<body>
<input type="input" id="field_1">
<input type="input" id="field_2">
</body>
</html>
Avatar billede Mik2000 Professor
13. marts 2011 - 23:41 #3
Hej

Mange tak for jeres svar.

Hvad nu hvis man har feltet f.eks. feltet "felt1" i formularen "form1" og så i en funktion skal finde ud af om det er i fokus.

Kan man det?
Avatar billede Bdev Nybegynder
14. marts 2011 - 12:48 #4
Simpelt forslag. Har ændret lidt på koden.

<script>
var theName = '';

function setFocus(myName) {
theName = myName;
}

function isFocus() {
if (theName == 'felt1') {
alert('Felt1 er i fokus');
} else {
alert('Felt1 er ikke i fokus');
}
}

</script>

<body>


<form name="form1">
<input type="text" name="felt1" onfocus="setFocus(this.name)">
<input type="text" name="felt2" onfocus="setFocus(this.name)">
</form>

<a href="#" onclick="isFocus()">Er felt1 i fokus?<a>

</body>
Avatar billede Mik2000 Professor
14. marts 2011 - 14:00 #5
Hej

Men kan man ikke finde ud af om et felt er i fokus uden at skulle have onfocus på feltet.

Altså noget med document.form.felt.focus = true eller noget andet?
Avatar billede intenz Novice
15. marts 2011 - 11:02 #6
#5 -> Nej. Du er nødt til at gemme hvilket felt der har focus, når focus bliver sat (med onfocus eventen).
Avatar billede Mik2000 Professor
24. april 2011 - 13:27 #7
Hej

Okay tak for svarene. I delte.

Sorry jeg havde glemt at give point og lukke :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester