04. januar 2005 - 20:37
Der er
12 kommentarer og 1 løsning
Placering af cursor giver fejl når der ingen i input-felter er
Hej eksperter. Pt. sætter jeg altid min cursor i det første input-felt på min side vha. <body onload="document.forms[0].elements[0].focus();"> Ovenstående virker ganske glimrende, men IE giver fejl når der ingen input-felter er. Hvordan undgår jeg det problem?
Annonceindlæg fra Thales
04. januar 2005 - 21:28
#1
?
04. januar 2005 - 22:30
#2
Ingen forslag ?
05. januar 2005 - 09:10
#3
du kan indkapsle det hele ved: <script language="Javascript"> window.onload = initPage; function initPage(){ try{ document.forms[0].elements[0].focus(); } catch(e){ } } </script>
05. januar 2005 - 09:12
#4
du kan selvfølgelig også: <script language="Javascript"> window.onload = initPage; function initPage(){ try{ var objInp = document.forms[0].elements[0]; if(objInp != null){ objInp.focus(); } } catch(e){ } } </script>
05. januar 2005 - 16:31
#5
Hvad er forskellen på de to løsninger?
05. januar 2005 - 19:33
#6
<body onload="if(document.forms[0].elements[0])document.forms[0].elements[0].focus();">
05. januar 2005 - 19:36
#7
-- eller måske endda (men den type kodning har jeg ikke prøvet selv !-) <body onload="try{document.forms[0].elements[0].focus()}"> -- evt. catch{} bagest !o]
06. januar 2005 - 09:32
#8
roenving er du sikker på du kan lave en try uden en catch? anyways. den jeg skrev 05/01-2005 09:12:09 henter objektet ned i en variable, og tester om den er null. Den skulle kun gøre det hvis dit object er sat, hvis der sker en fejl ved at hente objektet bliver den fanget af catch(e) hvor e er error object.
06. januar 2005 - 13:29
#9
<ole> Problemet er blot, at det vel ikke giver så megen mening at få en radio-button, checkbox eller knap i fokus. Derfor er denne måske lidt bedre: function initPage() { var elms = document.forms[0].elements; for (i=0j,j=elms.length; i<j; i++) { if ( (elms[i].tagName=="INPUT" && (elms[i].type=="TEXT" || elms[i].type=="PASSWORD")) || elms[i].tagName="TEXTAREA" ) { elms[i].focus(); } } } window.onload = initPage; /mvh </bole>
06. januar 2005 - 13:31
#10
Ooops ... glemte et '=' i slutningen af betingelsen: if ( ...... || elms[i].tagName=="TEXTAREA" ) { ... osv
06. januar 2005 - 13:37
#11
Det har du så endelig ret i ole.
16. januar 2005 - 03:07
#12
Tak for hjælpen. Jeg brugte Thomas' svar. Kan jeg få et svar, tak :)
19. januar 2005 - 23:28
#13
.
Vi tilbyder markedets bedste kurser inden for webudvikling