05. juni 2004 - 05:55Der er
17 kommentarer og 1 løsning
syntax fejl i validering
nedenstående kode giver mig fejlen "Object does not support this property or method", håber nogen kan forklare mig hvorfor denne fejl opstår og hvordan jeg afhjælper den
thesurfer, problemet opstår jo så når der kan være alt fra 1 til 100 input's der skal valideres, document.formNavn.elementNavn+i+.value er vist ikke heeelt valid kode :)
erikjacobsen yup i know, påpejede blot at thesurfer ville tilgå elementerne uden om de forskellige array's, hvilket er lidt svært når man ikke aner hvor mange elementer der er
Jeg har fået at vide, at det er hurtigere at tilgå objektet direkte (document.formnavn.elementnavn), fremfor at søge i arrayet (document.forms.formnavn.elements.elementnavn).
Der er ikke meget forskel, men det skulle være hurtigere :-)
Jeg lavede en lille (og ikke særligt grundig) test i nat fra en form med 5000 inputs. Det var en anelse hurtigere (5 - 10%) at gå 'direkte til objektet' som thesurfer siger. Hvis hastigheden er afgørende er det dog væsentligt hurtigere at starte med at lave en reference til alle form-elementer: fe = document.formNavn.elements;
Så kan værdierne i de enkelte felter hentes med v = fe['artist' + i].value;
Der var omkring 25% tid at spare fra thesurfers model. Den længste tid jeg kom op på var ca 9 sekunder for at hente værdierne fra de 5000 elementer og vise dem i en alert, så for en formular af mere almindelig størrelse kan man næppe registrere nogen forskel. -Kim
Hvilket heldigvis bekræfter min fornemmelse omkring den slags ting ...
Det ses med lidt hurtig hovedregning, at den langsomste metode tog knap 2 millisekunder på kimovitch' maskine, så selv en gammel slavemaskine burde ikke få problemer med nogen af metoderne !-)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.