21. januar 2003 - 15:13Der er
17 kommentarer og 1 løsning
javascript function(this);
Hej
Jeg har et lille spørgsmål. Lige nu bruger jeg javascript function(this); og det er også fint nok og det virker som det skal. Men mit spørgsmål er nu om man på lignende måde kan refererer med et lignende kommando til det næste objekt. Det er en del af noget validering, hvor jeg gerne vil have den næste tekstboks i fokus uden at kende den næste tekstboks navn.
Et foreslag: list = document.formnavn.elements; for(var i = 0; i < list.length; i++){ if(list[i] == this){ list[i+1].focus() break; } } Jeg ved ikke om du kan bruge det
:) du er grinern nok... jo, man må godt skrive javascript i en event-handler - som du selv siger er det underforstået og dermed også lovligt at skrive... og nej, den hedder heller ikke function :)
Synes godt om
Slettet bruger
21. januar 2003 - 16:52#6
Du er sørme også grinern... Nej, det er ikke lovligt, NETOP fordi det er underforstået. Alle standarder taler imod det, hvor meget du end griner.
Nå, men det er jo herligt at vi begge er så grinern :) Men jeg kan ihvert fald konstatere at jeg aldrig har fået fejl pga. at jeg har skrevet javascript...
Synes godt om
Slettet bruger
21. januar 2003 - 17:00#8
Nej, ikke JavaScript-fejl, for browserne er (uheldigvis) så venlige at tillade alskens sjuskeri. Men hvis du prøvede at holde din kode op mod gængse JS-standarder, så ville du se fejlene. Og hvem ved, en dag vil du måske få fejl for at skrive java script: i en event-handler, når browserne er blevet tilstrækkeligt strikse! Så hold dig til standarderne, det er den eneste fremtidssikre vej.
Tillad mig at være kampleder :) Ingen af Jer har forsåvidt ret i 'sagen' om brug af JavaScript-pseudo-protokollen. Det er helt korrekt, at det er nøget vrøvl (og 'ulovligt') at skrive 'java script:' i en event-handler - men det er heller ikke rigtigt, at den er underforstået. JS-pseudo-protokollen er konstrueret til at bruge steder, hvor man skriver en URL eller URI. Det kan f.eks. være i et link eller i adresse-feltet i browseren. Det gøres for at oplyse browseren om, at den ikke skal anvende sin default-protokol (HTTP) og altså ikke søge en location gennem denne, men i stedet afvikle et JavaScript.
En event-handler er et 'værktøj', der er indbygget i et HTML-element med det ene formål at afvikle et stykke JavaScript-kode.
Det er altså helt forkert at anføre JS-pseudo-protokollen i et HTML-elements event-handler - og den er heller ikke underforstået, da der aldrig kan være fare for, browseren vil gå ud og søge en location gennem HTTP-protokollen.
Så kom det vist på plads - og I må selv slås videre om hvem af Jer, der er mest grineren ;o)
En brugbar 'superfunktion', kunne f.eks. se sådan ud (med et lille eksempel):
ups ... slet lige '+1' - linien skal hedde: if( list[i]==elm ) j = i;
... sorry ;o)
Synes godt om
Slettet bruger
22. januar 2003 - 21:39#14
Hey hey, kampleder, nu er du vist lidt unfair! :) Jeg mente jo, at det er underforstået, at en eventhandler består af JavaScript, IKKE at javascript-pesudo-protokollen er underforstået. Det har udviklet sig til at blive en rigtig grinern diskussion... Og så er det jo ikke så underligt, at olebole skal blande sig! :)
hey... jeg har lige lidt travlt, så har ikke haft tid til at teste det af... men skal nok gøre det lige så snart jeg har lidt mere tid :)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.