/ 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
Irriterende focus()-problem
Fra : Jesper Stocholm


Dato : 18-10-02 09:22

Jeg har denne form:

<form action="search/" method="get" name="fSearch">
<table>
<tr>
<td>Søg i databasen efter svar</td>
<td>
<input type="text" name="query" id="query" size="40">
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" value="Søg"></td>
</tr>
</table>
</form>

med tilhørende script:

<script type="text/javascript">
document.fSearch.query.focus();
</script>

Som det ses, så er det eneste det skal gøre at sætte fokus på
indtastningsfeltet - men jeg kan ikke få det til at virke - og
jeg kan ikke finde fejlen. Ved load af siden giver det mig
følgende fejl (i IE):

Error: document.fSearch.queryu is null or not an object

Hvad skyldes dette ?

pft,


/Jesper Stocholm
http://stocholm.dk

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Hintzmann (18-10-2002)
Kommentar
Fra : Hintzmann


Dato : 18-10-02 09:46

> Som det ses, så er det eneste det skal gøre at sætte fokus på
> indtastningsfeltet - men jeg kan ikke få det til at virke - og
> jeg kan ikke finde fejlen. Ved load af siden giver det mig
> følgende fejl (i IE):
>
> Error: document.fSearch.queryu is null or not an object
>
> Hvad skyldes dette ?

Browseren starter lige så snart den modtager noget html-kode med at fortolke
det både HTML og javascript.

Problemet er så at du beder den om at sætte fokus på et felt som endnu ikke
er læst ind.

Vent med at sætte focus på feltet til hele siden er loadet, eller sæt
javascript-koden umiddelbart efter HTML-feltet.

Hintzmann



Jesper Stocholm (18-10-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 18-10-02 10:01

Hintzmann wrote in dk.edb.internet.webdesign.clientside:
> > Som det ses, så er det eneste det skal gøre at sætte fokus på
> > indtastningsfeltet - men jeg kan ikke få det til at virke - og
> > jeg kan ikke finde fejlen. Ved load af siden giver det mig
> > følgende fejl (i IE):
> >
> > Error: document.fSearch.queryu is null or not an object
> >
> Browseren starter lige så snart den modtager noget html-kode med at fortolke
> det både HTML og javascript.
>
> Problemet er så at du beder den om at sætte fokus på et felt som endnu ikke
> er læst ind.

ok ...

> Vent med at sætte focus på feltet til hele siden er loadet, eller sæt
> javascript-koden umiddelbart efter HTML-feltet.

ok ... men findes der sådan en document.isLoaded() eller lignende ? Det eneste
jeg lige kan finde er noget om readystate(), men det kan vist ikke bruges her.
Ellers virker det perfekt med at indsætte scriptet _efter_ formen er blevet
indlæst.

Faktisk troede jeg først, at der begyndte "at ske noget" i en browser efter den
havde modtaget et "ok" fra webserveren ...

Tak for hjælpen ...

/Jesper Stocholm
http://stocholm.dk

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Hintzmann (18-10-2002)
Kommentar
Fra : Hintzmann


Dato : 18-10-02 10:24

> ok ... men findes der sådan en document.isLoaded() eller lignende ? Det
eneste
> jeg lige kan finde er noget om readystate(), men det kan vist ikke bruges
her.
> Ellers virker det perfekt med at indsætte scriptet _efter_ formen er
blevet
> indlæst.

Du kan bruge eventen onload til at køre en javascript funktion (ex.
initside() )som køres af browseren når hele siden er loadet.

enten på den "gamle"-måde som inline på body elementet.

-----------
<head>
<script type="text/javascript">

function initside() {
blah blah....
}
</script>
</head>
<body onload="initside()">
-----------

eller på den mere traditonelle måde med registrering af eventen i javascript

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

function initside() {
blah blah....
}

window.onload = initside;

</script>
-----------

Der findes også nogle mere avancerede måder som kan laves enten på W3C-måden
eller MSIE-måden, men ovenstående vil jeg tro er rigeligt til dit behov. (Så
slap jeg for at forklare det )


Hintzmann



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

Månedens bedste
Årets bedste
Sidste års bedste