/ 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
Begrænse markørens flytning
Fra : Arne Feldborg


Dato : 08-01-08 23:34



Hejsa....

Jeg har et lille problem, som måske er rimelig triviel for folk med
erfaring i disse ting. Men en sådan har jeg desværre ikke selv.

Jeg har en indtastningsform ( PHP - MySql) hvor brugeren kan indtaste
nogle oplysninger (navn mv.) fra et billede der ses på samme
skærmbillede. Så vidt så godt.

Men da det drejer sig om ret mage poster (faktisk over en halv million)
ville jeg jo gerne gøre det så nemt for indtasterne som muligt. Fdeks.
at det skal være muligt at indtast iden at skulle bruge musen.

Jeg har derfor med et simpelt javascript lavet det sådan, at markøren
altid står i det første indtastningsfelt når siden åbnes. Og Enter
bekræfter jo den færdige indtastning.

Men jeg ville gerne have det sådanne, at markøren med TAB *kun* flytter
rundt mellem de 4 indtastningsfelter - og ikke kommer rundt til til de
øvrige billeder og knapper.

Er det muligt på en simpel måde.?

--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

 
 
Martin (09-01-2008)
Kommentar
Fra : Martin


Dato : 09-01-08 11:53

Arne Feldborg wrote:
>
> Hejsa....
>
> Jeg har et lille problem, som måske er rimelig triviel for folk med
> erfaring i disse ting. Men en sådan har jeg desværre ikke selv.
>
> Jeg har en indtastningsform ( PHP - MySql) hvor brugeren kan indtaste
> nogle oplysninger (navn mv.) fra et billede der ses på samme
> skærmbillede. Så vidt så godt.
>
> Men da det drejer sig om ret mage poster (faktisk over en halv million)
> ville jeg jo gerne gøre det så nemt for indtasterne som muligt. Fdeks.
> at det skal være muligt at indtast iden at skulle bruge musen.
>
> Jeg har derfor med et simpelt javascript lavet det sådan, at markøren
> altid står i det første indtastningsfelt når siden åbnes. Og Enter
> bekræfter jo den færdige indtastning.
>
> Men jeg ville gerne have det sådanne, at markøren med TAB *kun* flytter
> rundt mellem de 4 indtastningsfelter - og ikke kommer rundt til til de
> øvrige billeder og knapper.
>
> Er det muligt på en simpel måde.?
>

Brug tabindex i html, så er du udover det problem

<input type="text" name="name" tabindex="1">
<input type="text" name="address" tabindex="2">
<input type="submit" name="submit" tabindex="3">

Arne Feldborg (09-01-2008)
Kommentar
Fra : Arne Feldborg


Dato : 09-01-08 18:17

Martin <maaNO@SPAMscandesigns.dk> skrev Wed, 09 Jan 2008 11:52:30 +0100


>Brug tabindex i html, så er du udover det problem
>
><input type="text" name="name" tabindex="1">
><input type="text" name="address" tabindex="2">
>
Tak for forslaget.

Men såvidt jeg kan se, så hjælper det kun til at bestemme rækkefølgen.?

Det forhindrer ikke at markøren farer rundt i resten af skærmbilledet
hvis man 'kommer til' at trykke på TAB et par gange for meget. Og det
var lige netop det jeg gerne ville undgå.



--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

Jørgen Farum Jensen (09-01-2008)
Kommentar
Fra : Jørgen Farum Jensen


Dato : 09-01-08 23:33

Arne Feldborg skrev:

> Det forhindrer ikke at markøren farer rundt i resten af skærmbilledet
> hvis man 'kommer til' at trykke på TAB et par gange for meget. Og det
> var lige netop det jeg gerne ville undgå.
>

Non-standard tabindex="-1" ta'r elementet
helt ud af tabuleringsordenen i IE.

--

Med venlig hilsen
Jørgen Farum Jensen
Håndbog i webdesign: http://webdesign101.dk/wwwbog/udgave2/
Webdesign med stylesheets: http://webdesign101.dk/cssbog/
..

Arne Feldborg (10-01-2008)
Kommentar
Fra : Arne Feldborg


Dato : 10-01-08 01:07

Jørgen Farum Jensen <jfjenzen@yahoo.dk> skrev Wed, 09 Jan 2008 23:32:53
+0100


>Non-standard tabindex="-1" ta'r elementet
>helt ud af tabuleringsordenen i IE.
>
Jo, men det kan man vel ikke gøre med alle øvrige billeder og links på
hele siden.?

--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

Ukendt (09-01-2008)
Kommentar
Fra : Ukendt


Dato : 09-01-08 23:54


> Det forhindrer ikke at markøren farer rundt i resten af skærmbilledet
> hvis man 'kommer til' at trykke på TAB et par gange for meget. Og det
> var lige netop det jeg gerne ville undgå.

Lav et funktionskald ved hver input-felt's OnBlur()
Funk skal så tjekke op imod et forud defineret array af de "lovlige"
input-felter's ID'er.
Er den tistede og er det i så fald det sidste object i array, så sæt fokus i
det første object i array. (håber at du forstår min tankegang her)

Det kræver formentligt at du giver de 4 "lovlige" input-felter tabindex=1-4.
(med fokus på det første felt ved onload)

Sådan noget LIGN. her:
<html>
<head>
<script type="text/javascript">var MyValidFields = new
Array(document.getElementById("detEneFeltID"),
document.getElementById("detAndetFeltID"),
document.getElementById("detTredjeFeltID"),
document.getElementById("detFjerdeFeltID"));
function isNextLegal(id){
var myF = document.getElementById(id);
var b = false;
var l = MyValidFields.length
for (x = 0; x < l; x++)
{
if(myF == MyValidFields[x] ) // evt. if(myF.id ==
MyValidFields[x].id ), da det ellers er object der sammenlignes??
{
//ok - det er da ihvertfald i array
//men vi skal vide om det er sidste object i array, da næste
felt så skal skippes...
if(x < 3)
b = true;
}
}

// og her manipuleres videre TAK-mulighed så....
if(!b)
{
MyValidFields[0].focus();
}

}
</script>
</head>
<body>Enter your name:
<input tabindex="4" type="text" id="fname"
onblur="isNextLegal(this.id)"></body>
</html>Det er UTESTET, så måske der skal justeres lidt, men ideen skulle
være ok. VenligstArne Johansenwww.rasweb.dk



Birger (10-01-2008)
Kommentar
Fra : Birger


Dato : 10-01-08 10:45

"Arne Johansen" <ras[at]vip.cybercity.dk> skrev i en meddelelse
news:4785509e$0$90273$14726298@news.sunsite.dk...
>
>> Det forhindrer ikke at markøren farer rundt i resten af skærmbilledet
>> hvis man 'kommer til' at trykke på TAB et par gange for meget. Og det
>> var lige netop det jeg gerne ville undgå.
>
> Lav et funktionskald ved hver input-felt's OnBlur()
> Funk skal så tjekke op imod et forud defineret array af de "lovlige"
> input-felter's ID'er.
> Er den tistede og er det i så fald det sidste object i array, så sæt fokus
> i det første object i array. (håber at du forstår min tankegang her)
>
> Det kræver formentligt at du giver de 4 "lovlige" input-felter
> tabindex=1-4. (med fokus på det første felt ved onload)
>
> Sådan noget LIGN. her:
> <html>
> <head>
> <script type="text/javascript">var MyValidFields = new
> Array(document.getElementById("detEneFeltID"),
> document.getElementById("detAndetFeltID"),
> document.getElementById("detTredjeFeltID"),
> document.getElementById("detFjerdeFeltID"));
> function isNextLegal(id){
> var myF = document.getElementById(id);
> var b = false;
> var l = MyValidFields.length
> for (x = 0; x < l; x++)
> {
> if(myF == MyValidFields[x] ) // evt. if(myF.id ==
> MyValidFields[x].id ), da det ellers er object der sammenlignes??
> {
> //ok - det er da ihvertfald i array
> //men vi skal vide om det er sidste object i array, da næste
> felt så skal skippes...
> if(x < 3)
> b = true;
> }
> }
>
> // og her manipuleres videre TAK-mulighed så....
> if(!b)
> {
> MyValidFields[0].focus();
> }
>
> }
> </script>
> </head>
> <body>Enter your name:
> <input tabindex="4" type="text" id="fname"
> onblur="isNextLegal(this.id)"></body>
> </html>Det er UTESTET, så måske der skal justeres lidt, men ideen skulle
> være ok. VenligstArne Johansenwww.rasweb.dk
>

Man kan så ikke flytte sig baglæns i rækkefølgen, og heller ikke springe et
over ved museklik.


Birger
-----
http://bbsorensen.dk



Ukendt (10-01-2008)
Kommentar
Fra : Ukendt


Dato : 10-01-08 12:47


>
> Man kan så ikke flytte sig baglæns i rækkefølgen, og heller ikke springe
> et over ved museklik.
>

Kan man ikke, så længe at input-feltet er inde for angivne array?
Den eneste restriktion er at den ikke må have index =3 i array, dvs. det må
den godt, men så må du ikke gå til næste object i tab-rækkefølgen, men
forces til at have fokus på index[0] i array'ets objecter.

Igen, jeg har ikke engang gjort mig den ulejlighed at teste scriptet.

Venligst

Arne Johansen
www.rasweb.dk



Birger (10-01-2008)
Kommentar
Fra : Birger


Dato : 10-01-08 18:01

"Arne Johansen" <ras[at]vip.cybercity.dk> skrev i en meddelelse
news:478605c5$0$90274$14726298@news.sunsite.dk...
>
>>
>> Man kan så ikke flytte sig baglæns i rækkefølgen, og heller ikke springe
>> et over ved museklik.
>>
>
> Kan man ikke, så længe at input-feltet er inde for angivne array?
> Den eneste restriktion er at den ikke må have index =3 i array, dvs. det
> må den godt, men så må du ikke gå til næste object i tab-rækkefølgen, men
> forces til at have fokus på index[0] i array'ets objecter.
>
> Igen, jeg har ikke engang gjort mig den ulejlighed at teste scriptet.
>
> Venligst
>

Hvis jeg er i felt 3 kan jeg ikke komme til felt 2 uden at skulle omkring
det første felt.

Birger
-----
http://bbsorensen.dk



Arne Feldborg (10-01-2008)
Kommentar
Fra : Arne Feldborg


Dato : 10-01-08 18:45

"Birger" <sdc@bbsorensen.com> skrev Thu, 10 Jan 2008 10:45:24 +0100


>Man kan så ikke flytte sig baglæns i rækkefølgen, og heller ikke springe et
>over ved museklik.
>
Det synes jeg nu godt man kan. Men i det oprindelige forslag skal
deklarationen af MyValidFields dog, såvidt jeg kan se, flyttes ned i
bunden af siden - eller ihvertfald ned under formen med inputfelterne.

Men det er dog stadig muligt at køre ovenud af formen så at sige, hvis
man trykker TAB+SHIFT for mange gange i træk. Der skal nok på een eller
anden måde laves noget check på det også.

--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

Arne Feldborg (10-01-2008)
Kommentar
Fra : Arne Feldborg


Dato : 10-01-08 18:37

"Arne Johansen" <ras[at]vip.cybercity.dk> skrev Wed, 9 Jan 2008 23:54:21
+0100

>Lav et funktionskald ved hver input-felt's OnBlur()
>Funk skal så tjekke op imod et forud defineret array af de "lovlige"
>input-felter's ID'er.
>
Det var lige netop noget i den stil jeg tænkte på. Tak for forslaget.
Efter et par småændringer ser det ud til at virke fortrinligt (det er
dog stadig muligt at køre 'ovenud' af formen, så at sige. Se næste
indlæg).

Nyt spørgamål. Hvordan er det lige man giver det aktive inputfelt en
anden baggrundsfarve.
Jeg formoder det er noget med onFocus().?

--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409076
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste