/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Sende en tab
Fra : Chrisser


Dato : 29-03-06 09:08

Hej

Er det muligt, fra javascript, at sende en "tab-kommando" ?
- jeg skal lave en form med en del felter hvor enter skal kunne bruges i
stedet for tab og jeg vil gerne undgå at skulle kode mine felter så jeg er
afhængig af rækkefølgen og besværet der så vil opstå hvis jeg senere skal
lægge et ekstra felt ind midt mellem de andre.

Jeg kan fange min enter men mangler jo så at kunne sende en tab i stedet...

- hvis det eventuelt kun kan lade sig gøre i VBScript i stedet kan det godt
gå an.

Mvh
Chrisser



 
 
Kasper Lindberg (29-03-2006)
Kommentar
Fra : Kasper Lindberg


Dato : 29-03-06 09:31


"Chrisser" <cbj@egdatainform.dk> skrev i en meddelelse
news:442a4099$0$15794$14726298@news.sunsite.dk...
> Hej
>
> Er det muligt, fra javascript, at sende en "tab-kommando" ?
> - jeg skal lave en form med en del felter hvor enter skal kunne bruges i
> stedet for tab og jeg vil gerne undgå at skulle kode mine felter så jeg er
> afhængig af rækkefølgen og besværet der så vil opstå hvis jeg senere skal
> lægge et ekstra felt ind midt mellem de andre.
>
> Jeg kan fange min enter men mangler jo så at kunne sende en tab i
> stedet...
>

nu ved jeg ikke lige hvordan din side er opbygget, men en tab har
ascii-værdi 9, så når du fanger en [ENTER] så indsæt ascii-værdi 9 i stedet

var tab=String.fromCharCode(9)

/Kasper



Chrisser (29-03-2006)
Kommentar
Fra : Chrisser


Dato : 29-03-06 10:02


"Kasper Lindberg" <NoSp@m.invalid> skrev i en meddelelse
news:442a45dd$0$15788$14726298@news.sunsite.dk...
> nu ved jeg ikke lige hvordan din side er opbygget, men en tab har
> ascii-værdi 9, så når du fanger en [ENTER] så indsæt ascii-værdi 9 i
> stedet
>
> var tab=String.fromCharCode(9)

Hmm, den er jeg simpelthen ikke sikker på at jeg forstår, det med ascii kan
jeg
forstå, men hvordan får jeg den sendt afsted så cusoren på skærmen
rent faktisk flytter sig ? Jeg skal vel på en eller anden måde få den
rigtige
event fyret af, øh, sådan lidt manuelt kunne man måske sige ??

Chrisser



Kasper Lindberg (29-03-2006)
Kommentar
Fra : Kasper Lindberg


Dato : 29-03-06 16:32


"Chrisser" <cbj@egdatainform.dk> skrev i en meddelelse
news:442a4d41$0$15786$14726298@news.sunsite.dk...
>
> "Kasper Lindberg" <NoSp@m.invalid> skrev i en meddelelse
> news:442a45dd$0$15788$14726298@news.sunsite.dk...
>> nu ved jeg ikke lige hvordan din side er opbygget, men en tab har
>> ascii-værdi 9, så når du fanger en [ENTER] så indsæt ascii-værdi 9 i
>> stedet
>>
>> var tab=String.fromCharCode(9)
>
> Hmm, den er jeg simpelthen ikke sikker på at jeg forstår, det med ascii
> kan jeg
> forstå, men hvordan får jeg den sendt afsted så cusoren på skærmen
> rent faktisk flytter sig ? Jeg skal vel på en eller anden måde få den
> rigtige
> event fyret af, øh, sådan lidt manuelt kunne man måske sige ??

For at svare på det, skal jeg se hvad du laver....

link please.

/Kasper



Chrisser (30-03-2006)
Kommentar
Fra : Chrisser


Dato : 30-03-06 07:29

"Kasper Lindberg" <NoSp@m.invalid> skrev i en meddelelse
news:442aa86b$0$15794$14726298@news.sunsite.dk...
>>> var tab=String.fromCharCode(9)
>>
>> Hmm, den er jeg simpelthen ikke sikker på at jeg forstår, det med ascii
>> kan jeg
>> forstå, men hvordan får jeg den sendt afsted så cusoren på skærmen
>> rent faktisk flytter sig ? Jeg skal vel på en eller anden måde få den
>> rigtige
>> event fyret af, øh, sådan lidt manuelt kunne man måske sige ??
>
> For at svare på det, skal jeg se hvad du laver....
>
> link please.

Beklager - selv om jeg havde lavet noget af det på nuværende tidspunkt så er
det et internt system jeg sidder og arbejder på og det ville tage en hel del
tid at
strippe koden nok til at jeg kunne lægge noget af det ud.

Det korte af det lange er at jeg ender op med at have en form med x antal
felter hvor det skal være sådan at man i felterne kan bruge enter som tab -
altså man skriver hej i et felt og trykker på enter og så flytter cusoren
sig til
næste felt...nøjagtig som ved tab...

Jeg kan godt kode mig ud af det på den besværlige måde - altså med at holde
styr på hvilket felt jeg står i og hvilket felt jeg skal hoppe til som det
næste
med en focus(), men det ville være så fedt om man istedet "bare" kunne gå
ind
og fange enventen på en keyup og sige at hvis jeg stod i et inputfelt så
erstattede jeg den event med en tab og så lade det gå efter den almindelige
tabrækkefølge....
Dermed skal jeg bare lægge funktionaliteten på én gang og så kan den
passe sig selv uanset at jeg lægger nye felter på eller bytter rundt på
rækkefølgen af felterne.

Mvh
Chrisser






Chrisser (30-03-2006)
Kommentar
Fra : Chrisser


Dato : 30-03-06 08:31

"Chrisser" <cbj@egdatainform.dk> skrev i en meddelelse
news:442a4099$0$15794$14726298@news.sunsite.dk...
> Er det muligt, fra javascript, at sende en "tab-kommando" ?
> - jeg skal lave en form med en del felter hvor enter skal kunne bruges i
> stedet for tab og jeg vil gerne undgå at skulle kode mine felter så jeg er
> afhængig af rækkefølgen og besværet der så vil opstå hvis jeg senere skal
> lægge et ekstra felt ind midt mellem de andre.


Løsningen er åbenbart simpelt idet det kan lade sig gøre at udskrifte
keyCode,
pt. virker det fint hvis jeg kalder funktionen fra onkeydown på et
inputfelt:

function sendTab() {
var key = event.keyCode;
if (key == 13)event.keyCode=9 ;
}

<html> osv...
<input type="text" name="test" onkeydown="sendTab();">


Mvh
Chrisser



Chrisser (30-03-2006)
Kommentar
Fra : Chrisser


Dato : 30-03-06 08:50

"Chrisser" <cbj@egdatainform.dk> skrev i en meddelelse
news:442b894f$0$15785$14726298@news.sunsite.dk...
> Løsningen er åbenbart simpelt idet det kan lade sig gøre at udskrifte
> keyCode,
> pt. virker det fint hvis jeg kalder funktionen fra onkeydown på et
> inputfelt:

Og den sansynligvis endelige løsning er følgende script - og dermed
ingenting på selve felterne :

<script type="text/javascript">
<!--
document.onkeydown = sendTab;

function sendTab() {
var inputtype = event.srcElement.type;
var key = event.keyCode;
if (key == 13){
if(inputtype=='text' || inputtype=='select-one' || inputtype=='checkbox'){
event.keyCode=9;
}
}
}
</script>



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408848
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste