Just nu i M3-nätverket
Jump to content

självfokus


Admini

Recommended Posts

Hej

I en input type="text" vill jag ha focusen i den.

T.ex.

<input type="text" javascript:focus.this();>

 

finns det nåt enkelt sätt att göra det på?

Tack

 

Link to comment
Share on other sites

- Lägg först till ett id-fält i din input samt ta bort scriptet däri

 

<input ID="StartField" type="text">

 

- I BODY-taggen, lägg till följande:

 

<BODY ONLOAD="document.getElementById('StartField').focus();">

 

Klart!

 

Link to comment
Share on other sites

Jag kan inte använda body-taggen just nu.

Men kan jag göra så här i en function?

 

document.form1.getElementById(eval(kol_+i+)).focus

 

*i* ökar varje gång jag kör funktionen.

 

Nu får jag felmeddelande

"kol_2" är odefinierad

 

[inlägget ändrat 2004-09-21 15:20:10 av Admini]

Link to comment
Share on other sites

Hej

Nu får jag inget fel men fokus blir inte rätt satt.

functionen blir aktiverad av onBlur i föregående input-tagg.

Jag vill genom att trycka på Tabb-tabgenten skapa och flytta fokusen till nästa.

 

Tabb gör ju att focus flyttas till nästa existerande element.

 

Jag klarade det själv:

Jag skriver den 2 ggr i rad

document.getElementById('kol_'+i).focus();
document.getElementById('kol_'+i).focus();

[inlägget ändrat 2004-09-21 15:37:08 av Admini]

Link to comment
Share on other sites

Jaså var det det du ville göra. Då är det ju bara att sätta tabindex på elementen i den ordning du vill att man ska föras vidare:

 

<input TABINDEX="1">

<input TABINDEX="3">

<input TABINDEX="2">

 

Link to comment
Share on other sites

Nej det var i.o.f.s inte det som var tanken men det kommer till användning. Tack!

 

Jag skapar elementen så här:

eval(kol).innerHTML += "<div id='kol_"+i+"'><input type='text' class='text2' size='6' name='kol_"+i+"' onblur='CreateMenue();'></div>"

 

Sedan vill jag positionera dem så här:

document.getElementById("kol_"+i).style.pixelLeft = leftPos +100;
document.getElementById("kol_"+i).style.pixelTop = 47 ;

 

leftPos är lika med = document.getElementById("kol_"+(i-1)).style.pixelLeft

 

Men de staplas över varann istället för bredvidd

 

Link to comment
Share on other sites

Nu förstod jag inte om det sista var en förklaring av vad du gjort, eller om det var något som inte fungerade som det skulle.

 

Liten kommentar: Använd left istället för pixelLeft, så left är standard och pixelLeft MS-specifikt.

 

Link to comment
Share on other sites

LOL

Nej det VAR en fråga jag glömde ställa.

Det fungerar inte som det ska!

 

Även när jag tar bort följande helt

document.getElementById("kol_"+i).style.pixelLeft = leftPos +100;
document.getElementById("kol_"+i).style.pixelTop = 47 ;

 

Ser du vad det är för fel?

 

Link to comment
Share on other sites

Använder du absolute eller relativ positionering? Hur ser klassen ut?

 

TILLÄGG: Måste tyvärr iväg nu, återkommer imorgon om ingen annan hoppar in och hjälper dig.

 

 

[inlägget ändrat 2004-09-21 16:33:59 av Anjuna Moon]

Link to comment
Share on other sites

Så ser det ut

document.getElementById("kol_"+i).style.Left = i+200;
document.getElementById("kol_"+i).style.Top = 47 ;
document.getElementById("kol_"+i).style.visibility ='visible';
document.getElementById("kol_"+i).style.position ='relative';

 

Var ska jag ha klassen?

 

Link to comment
Share on other sites

Menade css-klassen, bara undrade om du hade satt positioneringstyp i den eller inte, men glöm det, jag ser nu hur du gjort. Löser du det inte så kan du maila mig sidan så kan jag lättare testa av vad som är fel. Måste iväg nu, hörs imorrn.

 

Link to comment
Share on other sites

Kan man göra så här:

<div id='kol_"+i+"' style='position:relative; z-index:5; left:"+i+"100; top:47;  visibility:visible'>

 

Alltså skriva classen inne i DIV-taggen?

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...