Hej, jag använde följande för att sätta default focus i ett fält när sidan laddas:
function putFocus(formInst, elementInst) {
if (document.forms.length > 0) {
document.forms[formInst].elements[elementInst].focus();
}
}
Det funkar utmärkt i IE 5 men får fel i IE6:
Error: 'document.forms[...].elements[...]' is null or not an object
Är rätt ny på JavaScript, finns det kanske något bättre script?
JojoxxMedlem sedan juni 20004 308 inlägg Välkommen till wF.
Hur anropar du funktionen? Är formInst och elementInst definierade? Annars kan du i body-taggen använda;
<body onLoad="if(document.forms.length>0&&document.forms[0].elements.length>0){ document.forms[0].elements[0].focus(); }">
^-- Allt detta på samma rad.
------------------
/ J
Tack,
jag använder nu följande lite enklare funktion i Body onLoad för att sätta fokus i ett specifikt fält:
if (document.forms[0].Subject) document.forms[0].Subject.focus()
Det är väl ungefär samma som du har föreslagit, att först kolla upp om fältet finns.
JojoxxMedlem sedan juni 20004 308 inlägg Jopp, men du kollar inte om formuläret finns innan -- låter som det rör sig om en dynamiskt genererad sida så jag vet inte om detta kan förekomma.
------------------
/ J
Det stämmer att det är en dynamiskt genererad sida, ibland finns formuläret, ibland inte. Kan du förtydliga forms.length och elements.length lite, rekommenderar du att jag använder dem?