|  | 		    
					
        
         
          
         
	
          | |  | Script til at slette tekstfelt ? Fra : Peter
 | 
 Dato :  28-08-09 20:29
 | 
 |  | Hej NG!
 
 I min formular har jeg et felt med "startværdi" altså et tekstfelt der
 allerede har en tekst (et spørgsmål) stående. Det virker ikke smart, da den
 "besøgende" på siden, først skal sætte curseren i feltet og dernæst slette
 den indsatte tekst med "backspace" (slettetasten). Kan det ikke gøres ved at
 feltet bliver "ryddet" i samme øjeblik man placerer musecurseren i feltet ?
 
 hilsen
 Peter
 
 
 
 
 |  |  | 
  Philip Nunnegaard (28-08-2009) 
 
	
          | |  | Kommentar Fra : Philip Nunnegaard
 | 
 Dato :  28-08-09 22:04
 | 
 |  | 
 
            Peter skrev:
 > I min formular har jeg et felt med "startværdi" altså et tekstfelt der
 > allerede har en tekst (et spørgsmål) stående. Det virker ikke smart, da den
 > "besøgende" på siden, først skal sætte curseren i feltet og dernæst slette
 > den indsatte tekst med "backspace" (slettetasten). Kan det ikke gøres ved at
 > feltet bliver "ryddet" i samme øjeblik man placerer musecurseren i feltet ?
 Er ikke afprøvet:
 <input type="text" (...indsæt selv parametre/attributter...) 
 value="Skriv her" onfocus="this.value='';" />
 -- 
 Philip - http://chartbase.dk |  |  | 
  Philip Nunnegaard (28-08-2009) 
 
	
          | |  | Kommentar Fra : Philip Nunnegaard
 | 
 Dato :  28-08-09 23:07
 | 
 |  | 
 
            Philip Nunnegaard skrev:
 > Er ikke afprøvet:
 > 
 > <input type="text" (...indsæt selv parametre/attributter...) 
 > value="Skriv her" onfocus="this.value='';" />
 Jeg har nu afprøvet det, og det virker i alle browsere som jeg har ved 
 hånden.
 Men måske Birger eller en anden javascripthaj kan uddybe, hvis dette 
 "this.value" ikke er korrekt javascript, og man evt. *skal* bruge 
 document.getElementById.
 -- 
 Philip - http://chartbase.dk |  |  | 
   Rune Jensen (28-08-2009) 
 
	
          | |  | Kommentar Fra : Rune Jensen
 | 
 Dato :  28-08-09 23:34
 | 
 |  | 
 
            Philip Nunnegaard skrev:
 > Men måske Birger eller en anden javascripthaj kan uddybe, hvis dette 
 > "this.value" ikke er korrekt javascript, og man evt. *skal* bruge 
 > document.getElementById.
 ¨Jeg har stor tiltro til quirksmode, det er kort og forholdsvist klart.
http://www.quirksmode.org/js/this.html MVH
 Rune Jensen
            
             |  |  | 
    Philip Nunnegaard (29-08-2009) 
 
	
          | |  | Kommentar Fra : Philip Nunnegaard
 | 
 Dato :  29-08-09 01:50
 | 
 |  | 
 
            Rune Jensen skrev:
 >> Men måske Birger eller en anden javascripthaj kan uddybe, hvis dette 
 >> "this.value" ikke er korrekt javascript, og man evt. *skal* bruge 
 >> document.getElementById.
 > 
 > ¨Jeg har stor tiltro til quirksmode, det er kort og forholdsvist klart.
 > 
 > http://www.quirksmode.org/js/this.html For lige at sikre at jeg har forstået det korrekt:
 I ovenstående kontekst (hvor det fremstår som et inline-kald i selve 
 html-elementet) er det ikke noget problem. Det er først galt, hvis man 
 ryger ud i en situation hvor det er tvetydigt, hvad "this" er.
 Da må konklutionen jo være altid at bruge document.getElementById(). I 
 hvert fald hvis man er det mindste i tvivl om om det virker.
 -- 
 Philip - http://chartbase.dk |  |  | 
     Stig Johansen (29-08-2009) 
 
	
          | |  | Kommentar Fra : Stig Johansen
 | 
 Dato :  29-08-09 15:10
 | 
 |  | Philip Nunnegaard wrote:
 
 > Da må konklutionen jo være altid at bruge document.getElementById(). I
 > hvert fald hvis man er det mindste i tvivl om om det virker.
 
 Uanset om 'man' er i tvivl, vil jeg nok anbefale at bruge getElementById.
 (Overdrevent) brug af this og with og anonymous functions sparer måske et
 par kodelinier, men til gængæld mistes overblikket.
 
 Her tale jeg ikke om udvikleren i nuet, men vedligeholdelse i fremtiden,
 herunder udvikleren, som formentlig har glemt kontext efter et par år.
 
 --
 Med venlig hilsen
 Stig Johansen
 
 
 |  |  | 
   Birger Sørensen (29-08-2009) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  29-08-09 15:57
 | 
 |  | 
 
            Philip Nunnegaard skrev:
 > Philip Nunnegaard skrev:
 >
 >> Er ikke afprøvet:
 >> 
 >> <input type="text" (...indsæt selv parametre/attributter...) value="Skriv 
 >> her" onfocus="this.value='';" />
 >
 > Jeg har nu afprøvet det, og det virker i alle browsere som jeg har ved 
 > hånden.
 >
 > Men måske Birger eller en anden javascripthaj kan uddybe, hvis dette 
 > "this.value" ikke er korrekt javascript, og man evt. *skal* bruge 
 > document.getElementById.
 Problemet er, at "this" ikke altid og nødvendigvis er this...
 For overskueligheden og fremtidens skyld, ville jeg også foretrække 
 document.getElementById()...
 Og jeg ville gøre anderledes - den korte version, som skulle virke, i 
 hvert fald her og nu:
 onfocus="this.select();"
 markerer indholdet, som så slettes, når brugeren skriver noget.
 Forskellen er:
 Jeg skriver en tekst i feltet.
 Sidder og finder ud af, at jeg har stavet forkert i min email adresse 
 ovenover.
 Går op og retter den, og tilbage til tekstfeltet.
 Og den tekst jeg har skrevet er - væk og borte med this.value='', mens 
 this.select() blot markerer alt det jeg tidligere har skrevet i feltet, 
 og med en piletast eller andet inden jeg skriver mere, behøver jeg 
 altså ikke skrive det hele een gang til...
 Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
    Stig Johansen (29-08-2009) 
 
	
          | |  | Kommentar Fra : Stig Johansen
 | 
 Dato :  29-08-09 22:22
 | 
 |  | Birger Sørensen wrote:
 
 > Og den tekst jeg har skrevet er - væk og borte med this.value='', mens
 > this.select() blot markerer alt det jeg tidligere har skrevet i feltet,
 > og med en piletast eller andet inden jeg skriver mere, behøver jeg
 > altså ikke skrive det hele een gang til...
 
 Smart.
 En anden metode jeg har set anvendt er at teste på om .value = 'startværdi'
 inden man sletter.
 
 Jeg har ikke lige et eksempel, men det er lige ud ad landevejen.
 
 --
 Med venlig hilsen
 Stig Johansen
 
 
 |  |  | 
     Philip Nunnegaard (30-08-2009) 
 
	
          | |  | Kommentar Fra : Philip Nunnegaard
 | 
 Dato :  30-08-09 00:29
 | 
 |  | 
 
            Stig Johansen skrev:
 >> Og den tekst jeg har skrevet er - væk og borte med this.value='', mens
 >> this.select() blot markerer alt det jeg tidligere har skrevet i feltet,
 >> og med en piletast eller andet inden jeg skriver mere, behøver jeg
 >> altså ikke skrive det hele een gang til...
 > 
 > Smart.
 > En anden metode jeg har set anvendt er at teste på om .value = 'startværdi'
 > inden man sletter.
 Det var også min umiddelbare tanke, da jeg læste Birgers svar.
 Og så er vi ude i at der kaldes en funktion og ikke bare den 
 enekltstående "this.value=''".
 I den funktion jeg forsøgte mig med, lod jeg teksten som står i feltet 
 stå med grå skrift. Når man selv udfylder det, bliver teksten almindelig 
 sort.
 Altså har vi både document.getElementById('feltnavn').value='' og 
 document.getElementById('feltnavn').style.color='#000'.
 Og vupti! Så er vi allerede ude i at det er en dårlig ide med "this", 
 fordi det lægges ud i en funktion.
 Men tilbage til sagen:
 Min tanke gik så på ikke kun at tjekke på startværdien, men også på 
 tekstfarven. Så er muligheden for at man faktisk ville bruge 
 startværdien også elimineret. Jeg har dog ikke afprøvet den mulighed 
 endnu. Måske ville det i mit tilfælde endda være nok at tjekke på 
 tekstfarven i det søgefelt som jeg bruger som test lige nu.
 -- 
 Philip - http://chartbase.dk |  |  | 
      Birger Sørensen (30-08-2009) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  30-08-09 02:38
 | 
 |  | 
 
            Den 30-08-2009, skrev Philip Nunnegaard:
 > Stig Johansen skrev:
 >
 >>> Og den tekst jeg har skrevet er - væk og borte med this.value='', mens
 >>> this.select() blot markerer alt det jeg tidligere har skrevet i feltet,
 >>> og med en piletast eller andet inden jeg skriver mere, behøver jeg
 >>> altså ikke skrive det hele een gang til...
 >> 
 >> Smart.
 >> En anden metode jeg har set anvendt er at teste på om .value = 'startværdi'
 >> inden man sletter.
 >
 > Det var også min umiddelbare tanke, da jeg læste Birgers svar.
 > Og så er vi ude i at der kaldes en funktion og ikke bare den enekltstående 
 > "this.value=''".
 >
 > I den funktion jeg forsøgte mig med, lod jeg teksten som står i feltet stå 
 > med grå skrift. Når man selv udfylder det, bliver teksten almindelig sort.
 > Altså har vi både document.getElementById('feltnavn').value='' og 
 > document.getElementById('feltnavn').style.color='#000'.
 >
 > Og vupti! Så er vi allerede ude i at det er en dårlig ide med "this", fordi 
 > det lægges ud i en funktion.
 >
 > Men tilbage til sagen:
 > Min tanke gik så på ikke kun at tjekke på startværdien, men også på 
 > tekstfarven. Så er muligheden for at man faktisk ville bruge startværdien 
 > også elimineret. Jeg har dog ikke afprøvet den mulighed endnu. Måske ville 
 > det i mit tilfælde endda være nok at tjekke på tekstfarven i det søgefelt som 
 > jeg bruger som test lige nu.
 Bare for sjov.
 Hver for sig
 onclick="this.value=(this.value=='starttekst') ? '' : this.value;"
 onclick="if (this.style.color!='#000') this.value='';"
 eller rodet sammen
 onclick="this.value=((this.value=='starttekst')||(this.style.color 
 !='#000')) ? '' : this.value;"
 eller
 onclick="if(( 
 this.value=='starttekst')||(this.style.color!='#000'))this.value='';"
 Ikke testet
 Hvis det ene fører det andet med sig, er der vel heller ingen grund til 
 at teste begge dele...
 Og mener så stadig, at der bør benyttes document.getElementById(), af 
 samme grunde som tidligere...
 onclick="var 
 elm=document.getElementById('feltnavn');elm.value=((elm.value=='starttekst')||(elm.style.color!='#000')) 
 ? '' : elm.value);"
 det er rundt regnet det samme som
 var elm=document.getElementById('feltnavn');
 if (( elm.value == 'starttekst') || ( elm.style.color != '#000')) {
    elm.value = '';
    }
 og kan vel egentlig godt skrives
 onclick="var elm=document.getElementById('feltnavn');if(( elm.value == 
 'starttekst')||(elm.style.color != '#000'))elm.value = '';"
 men overskueligheden er vist gået fløjten...
 Så det er ikke strengt nødvendigt med en funktion. Det bliver det vist 
 først, når det skal gøre unobtrusive...
   Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
       Philip Nunnegaard (30-08-2009) 
 
	
          | |  | Kommentar Fra : Philip Nunnegaard
 | 
 Dato :  30-08-09 03:51
 | 
 |  | 
 
            Birger Sørensen skrev:
 > men overskueligheden er vist gået fløjten...
 > 
 > Så det er ikke strengt nødvendigt med en funktion. Det bliver det vist 
 > først, når det skal gøre unobtrusive...
 Jeps! Overskueligheden er gået fløjten, og her mener jeg så at det 
 bliver mere overskueligt at skille det ud i en funktion der kaldes ved 
 onfocus.
 Min kom til at se sådan ud i stedet:
      <input type="text" name="soegeord" id="soegeord"
      value="Indtast søgeord" onfocus="rydfelt('soegeord');" />
 Og det tilhørende javascript:
      function rydfelt(feltnavn) {
    if(document.getElementById(feltnavn).style.color == '#aaa' ||
          document.getElementById(feltnavn).style.color == '') {
       document.getElementById(feltnavn).value = '';
       document.getElementById(feltnavn).style.color = '#000';
    }
      }
 Det med unobtrusive javascript kender jeg (endnu) kun til fra Runes 
 indlæg her i gruppen, men jeg "frygter" at det bliver noget jeg snart 
 bliver nødt til at sætte mig ind i i forbindelse med en side jeg er gået 
 igang med at kode om fra bunden.
 -- 
 Philip - http://chartbase.dk |  |  | 
        Stig Johansen (30-08-2009) 
 
	
          | |  | Kommentar Fra : Stig Johansen
 | 
 Dato :  30-08-09 05:51
 | 
 |  | 
 
            Philip Nunnegaard wrote:
 > Det med unobtrusive javascript kender jeg (endnu) kun til fra Runes
 > indlæg her i gruppen, men jeg "frygter" at det bliver noget jeg snart
 > bliver nødt til at sætte mig ind i i forbindelse med en side jeg er gået
 > igang med at kode om fra bunden.
 Hvis du vil se et eksempel på (næsten) unobtrusive javascript, kan du kigge
 her:
 <http://w-o-p-r.dk/ufo/show.base.asp?databasename=Ufo_arkiv_notes> WARNING: bruger frames og target!
 Hvis man klikker på et af view name, skuller der komme en oversigt i
 hovedframen.
 Årsagen til jeg skriver 'næsten' er, at jeg har lagt 'starter' funktionen
 ind i <body>.
 Jeg er lidt i tvivl om nødvendigheden i, at lægge denne del ud som
 unobtrusive også, da jeg ikke synes det ændrer voldsomt meget ved
 overblikket.
 Princippet er her, at brugere uden javascript blot vil få vist den rå tabel.
 Har man derimod slået javascript til, vises tabellen først som usynlig.
 Herefter tager javascriptet fat i tabellen via DOM, og gnaver sig ned gennem
 rækkerne.
 Rækkerne bliver opdelt i 'hovedrækker' og 'underrækker', hvor første kolonne
 er den samme.
 Hvis vi f.eks har rækkerne:
 1 2 3
 1 4 5
 1 6 7
 2 1 1
 osv.
 bliver de til:
 1 2 3
   4 5
   6 7
 2 1 1
 osv.
 Samtidig bliver der tilføjet en handler på mousedown på hovedrækkerne, som
 hhv. viser og skjuler 'underækkerne'.
 Det svarer til onclick="et.eller.andet()".
 Når 'operationen' er færdig sættes tabellen til 'synlig'.
 Det med usynlig/synlig er af hensyn til langsomme browsere (bla min), hvor
 tabellen først bliver vist normalt, og efter lidt tid 'swapper' den om til
 det manipulerede format.
 Så er det bedre at have en tom skærm mens man venter.
 Hvis det skulle være pænt, kunne man evt. lave en 'Data indlæses', mens man
 venter.
 Hvis du skal bruge unobtrusive javascript i dine nye projekter, vil jeg tro
 du skal tænke det ind/planlægge det fra starten.
 Den side jeg henviser til er egentlig kun noget test af noget teknik, så der
 er ikke gjort noget ved styles, borders osv.
 Da det er lidt af et helvede (synes jeg) at generere testdata, så jeg mit
 snit til at importere nogle data automatisk (fra dk.videnskab).
 Når jeg har 'stjålet' data, syntes jeg også jeg ville gøre dem tilgængelige.
 Måske, måske ikke kan det give noget inspiration, men nu har du idet mindste
 fået et eksempel.
 -- 
 Med venlig hilsen
 Stig Johansen
            
             |  |  | 
        Rune Jensen (30-08-2009) 
 
	
          | |  | Kommentar Fra : Rune Jensen
 | 
 Dato :  30-08-09 09:41
 | 
 |  | Philip Nunnegaard skrev:
 
 > Det med unobtrusive javascript kender jeg (endnu) kun til fra Runes
 > indlæg her i gruppen, men jeg "frygter" at det bliver noget jeg snart
 > bliver nødt til at sætte mig ind i i forbindelse med en side jeg er gået
 > igang med at kode om fra bunden.
 
 Bare af nysgerrighed - hvad skulle det bruges til, det script?
 
 
 MVH
 Rune Jensen
 
 
 |  |  | 
         Philip Nunnegaard (30-08-2009) 
 
	
          | |  | Kommentar Fra : Philip Nunnegaard
 | 
 Dato :  30-08-09 12:08
 | 
 |  | 
 
            Rune Jensen skrev:
 > Bare af nysgerrighed - hvad skulle det bruges til, det script?
 Vi kan vel lige så godt tage den nu, inden jeg kommer for godt igang.
 Det drejer sig om menuen på denne side:
http://chartbase.dk/usenet Der er 9 hovedmenupunkter plus en masse undermenupunkter.
 Tanken er at de er klappet sammen, når man kommer ind på siden, men at 
 man ved et klik på et hovedpunkt for underpunkterne frem.
 Lige nu klares det ved et kald på visskjul(), der skifter displayværdien 
 mellem none og block.
 Menuen vil blive for lang hvis den er klappet ud som standard, så jeg 
 ser 2 muligheder:
 Enten det I ser her, eller også den dropdownmenu som jeg bruger på et 
 andet site, og som jeg har "hugget" fra http://webdesign101.dk. Men på detn anden side er der ikke så mange underpunkter som der er her, 
 så der er behovet for at den kan forblive foldet ud, selv om musen ikke 
 holdes henover, ikke det samme (som jeg ser det).
 Omvendt er den nuværende læsning heller ikke optimal, hvis siden besøges 
 af en der har slået javascript fra. I hvert fald ikke for noget så 
 centralt som selve navigationen.
 -- 
 Philip - http://chartbase.dk |  |  | 
          Stig Johansen (30-08-2009) 
 
	
          | |  | Kommentar Fra : Stig Johansen
 | 
 Dato :  30-08-09 12:36
 | 
 |  | Philip Nunnegaard wrote:
 
 > Omvendt er den nuværende læsning heller ikke optimal, hvis siden besøges
 > af en der har slået javascript fra. I hvert fald ikke for noget så
 > centralt som selve navigationen.
 
 Menuen virker slet ikke uden javascript.
 
 Det er nok en trade-off situation.
 På den ene side, så understøtter alle browsere javascript, så det er
 principielt ikke en hindring.
 
 På den anden side så er der et 'overforbrug' af javascript på 'inderneddet',
 så nogle (herunder undertegnede) generelt har slået det fra.
 
 Jeg tænker ikke kun på alle de der 200KB+ frameworks, og Reklamer, men også
 sikkerhedsmæssigt.
 
 
 Skal man have fred og ro i sin surfing, så er det bedste at slå javascript
 fra.
 
 For ikke så lang tid siden havde Version2 en artikel, hvor Google udtaler at
 javascript er internettets bremseklods.
 (Har ikke lige linket ved hånden).
 
 Men under alle omstændigheder tror jeg det er en god idé at bevare
 _funktionaliteten_ uagtet man ikke kører med javascript.
 
 --
 Med venlig hilsen
 Stig Johansen
 
 
 |  |  | 
           Rune Jensen (30-08-2009) 
 
	
          | |  | Kommentar Fra : Rune Jensen
 | 
 Dato :  30-08-09 12:45
 | 
 |  | 
 
            Stig Johansen skrev:
 > Men under alle omstændigheder tror jeg det er en god idé at bevare
 > _funktionaliteten_ uagtet man ikke kører med javascript.
 Jeg var ret overrasket over specifikationerne på denne:
http://onlinetools.org/tools/dom-tree-menu-puredom/# Det lød næsten for godt til at være sandt (også keyboard kontrol)
 Men... damn, om jeg kan få det til at virke! Men det lader til, efter 
 kommentarerne at dømme, at det gør det?? Have I missed something?
 MVH
 Rune Jensen
            
             |  |  | 
            Philip Nunnegaard (30-08-2009) 
 
	
          | |  | Kommentar Fra : Philip Nunnegaard
 | 
 Dato :  30-08-09 12:59
 | 
 |  |  |  |  | 
            Stig Johansen (30-08-2009) 
 
	
          | |  | Kommentar Fra : Stig Johansen
 | 
 Dato :  30-08-09 15:43
 | 
 |  | Rune Jensen wrote:
 
 > Men... damn, om jeg kan få det til at virke! Men det lader til, efter
 > kommentarerne at dømme, at det gør det?? Have I missed something?
 
 Det ved jeg ikke..
 
 Her virker det hverken i Konqueror eller FF 3.5. - hmm, hvor er det vi er
 kommet til - jo - efter besøg på den anden maskine, så er det 3.5.2.
 
 Hvad var det scriptet skulle kunne?
 
 (Jeg har kun tjekket 'demoerne' og ikke downloadet noget).
 
 --
 Med venlig hilsen
 Stig Johansen
 
 
 |  |  | 
             Philip Nunnegaard (30-08-2009) 
 
	
          | |  | Kommentar Fra : Philip Nunnegaard
 | 
 Dato :  30-08-09 16:08
 | 
 |  | 
 
            Stig Johansen skrev:
 > Hvad var det scriptet skulle kunne?
 > 
 > (Jeg har kun tjekket 'demoerne' og ikke downloadet noget).
 Klik på "pilene". Så folder det sig ud.
 Som jeg ser det, vil folk der ikke har slået javascript til, blive ledt 
 over på den side som står i linkets egentlige href. Dermed vil de ikke 
 opleve nogle negative følger af brugen af javascript. Det er som jeg har 
 forstået det, hele humlen ved Unobtrusive Javascript.
 -- 
 Philip - http://chartbase.dk |  |  | 
              Stig Johansen (31-08-2009) 
 
	
          | |  | Kommentar Fra : Stig Johansen
 | 
 Dato :  31-08-09 05:48
 | 
 |  | Philip Nunnegaard wrote:
 
 > Klik på "pilene". Så folder det sig ud.
 
 Det er også 'pilene' ovre i højre side jeg klikker på.
 Men der sker ingenting, hverken i min Konqueror,FF3.5.2 eller IE6.
 
 --
 Med venlig hilsen
 Stig Johansen
 
 
 |  |  | 
           Philip Nunnegaard (30-08-2009) 
 
	
          | |  | Kommentar Fra : Philip Nunnegaard
 | 
 Dato :  30-08-09 12:55
 | 
 |  | 
 
            Stig Johansen skrev:
 > Menuen virker slet ikke uden javascript.
 Præcis derfor jeg tænkte på unobtrusive javascript.
 Min tanke var at folk der ikke har slået javascript til, kommer frem til 
 en side der viser det ønskede.
 Men overvejer stadig om ikke jeg bare skal lave en simpel css-løsning i 
 stedet.
 > For ikke så lang tid siden havde Version2 en artikel, hvor Google udtaler at
 > javascript er internettets bremseklods.
 > (Har ikke lige linket ved hånden).
http://www.version2.dk/artikel/10924-google-javascripts-er-internettets-bremseklods Jævnfør artiklen: Er en stor del af problemet lige her ikke at mange 
 hjemmesider henter en masse overflødige scripts ind på alle sider og 
 ikke kun på de sider, hvor de ikke er overflødige?
 -- 
 Philip - http://chartbase.dk |  |  | 
            Stig Johansen (30-08-2009) 
 
	
          | |  | Kommentar Fra : Stig Johansen
 | 
 Dato :  30-08-09 13:10
 | 
 |  | Philip Nunnegaard wrote:
 
 > Jævnfør artiklen: Er en stor del af problemet lige her ikke at mange
 > hjemmesider henter en masse overflødige scripts ind på alle sider og
 > ikke kun på de sider, hvor de ikke er overflødige?
 
 Jo, i store træk.
 Jeg er ikke særlig god til at gemme links, så derfor havde jeg ikke nogle.
 
 Men da artiklen var aktuel, var der en masse brugbare links (eller også
 fandt jeg dem), som omhandlede en masse problemstillinger.
 (Hmm. jo, det er clientside, så jeg fortsætter.. dog er det nok ikke dansk -
 sorry)
 
 Herunder brug af closures vs. GC problemer (aka memory leaks)
 Concatenation af strings vs opbygning i arrays med efterfølgende join,
 og ikke mindst load af unødigt javascript, som ikke skal bruges.
 
 Her er der ikke kun tale om selve load-tiden, men at disse 'ting' skal
 gennempule DOM'en og attache events på alt muligt osv, inden siden er
 brugbar.
 
 Wikipedia f.eks. synes jeg skal have eventhandelser på alt muligt keyboard
 og mouse events, før jeg må læse en artikel.
 
 Det har medført, at jeg kører uden javascript på wikipedia, da det tager 4-5
 sek. at pule DOM'en (på min maskine).
 
 Og nej, jeg har ikke til hensigt at investere i nyere maskiner blot for at
 læse en artikel ;)
 
 --
 Med venlig hilsen
 Stig Johansen
 
 
 |  |  | 
          Birger Sørensen (30-08-2009) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  30-08-09 13:27
 | 
 |  | 
 
            Efter mange tanker skrev Philip Nunnegaard:
 > Rune Jensen skrev:
 >
 >> Bare af nysgerrighed - hvad skulle det bruges til, det script?
 >
 > Vi kan vel lige så godt tage den nu, inden jeg kommer for godt igang.
 > Det drejer sig om menuen på denne side:
 >
 > http://chartbase.dk/usenet >
 > Der er 9 hovedmenupunkter plus en masse undermenupunkter.
 > Tanken er at de er klappet sammen, når man kommer ind på siden, men at man 
 > ved et klik på et hovedpunkt for underpunkterne frem.
 >
 > Lige nu klares det ved et kald på visskjul(), der skifter displayværdien 
 > mellem none og block.
 >
 > Menuen vil blive for lang hvis den er klappet ud som standard, så jeg ser 2 
 > muligheder:
 > Enten det I ser her, eller også den dropdownmenu som jeg bruger på et andet 
 > site, og som jeg har "hugget" fra http://webdesign101.dk. >
 > Men på detn anden side er der ikke så mange underpunkter som der er her, så 
 > der er behovet for at den kan forblive foldet ud, selv om musen ikke holdes 
 > henover, ikke det samme (som jeg ser det).
 >
 > Omvendt er den nuværende læsning heller ikke optimal, hvis siden besøges af 
 > en der har slået javascript fra. I hvert fald ikke for noget så centralt som 
 > selve navigationen.
 Det er lidt skidt med javascript menuer.
 Ikke kun fordi den besøgende kan slå funktionaliteten fra - også for 
 brugervenighed generelt (tekst-browsere, mobiler, what have you these 
 days).
 Med :hover (og andre pseudoklasser), kan det faktisk lade sig gøre at 
 få samme funktionalitet - eller i hvert fald tæt på.
http://lystruplund.dk  - også med venligt lån fra webdesign101 - har 53 
 menupunkter, foldeud i 3 niveauer, der selv lukker, når musen fjernes.
 Og det er ren CSS. Og den er ikke brugbar i IE6 - vist mest fordi jeg 
 ikke goder rode med forældede browsere..
 På bbsorensen.dk, en anden måde at gøre tingene på.
 Undermenuerne findes på deres egen side. I stedet for at have dem poppe 
 op eller ned eller folde ud den ene eller den anden vej, åbner et klik 
 på et hoved-menupunkt - vandret i toppen - en side, der indeholder 
 underpunkterne, som en selvstændig menu - lodret i siden. Man har altså 
 stadig det samme som en foldeud, der beholder den foldede ud menu, 
 indtil der vælges et andet punkt i hovedmenuen.
 (Og man kan selvfølgelig gøre det omvendt - have hovedmenuen lodret og 
 undermenuer vandret, hvis det passer bedre til det øvrige design, eller 
 man bare bedre kan lide det sådan ^^ , eller have dem alle lodret - 
 eller vandret, eller...)
 Er der underpunkter til underpunkterne, gøres det samme - der åbnes en 
 side, der har undermenuen som menu - uden at de andre menuer fjernes.
 Prøv f.eks. at gå ind under Billeder - Ferie 2006 - der kan du vælge en 
 stribe underpunkter (og hvis du vælge Huset, skulle du kunne finde 
 noget du kender, Philip), og igen - er der underpunkter, vises de som 
 selvstændige menuer, på den side der åbnes, når punktet vælges.
 Den er så helt i js. Bl.a. fordi hele sitet styres af AJAX, og det 
 under alle omstændigheder er umuligt at se den uden js. (Og den 
 startede som et forsøg - er det virkelig nødvendigt at hente alting 
 igen igen, hver gang der skal vises en anden tekst? Svar: nej det er 
 det ikke, men det koster så på andre punkter - men den er blevet til 
 vores eget billedarkiv, og det bliver lidt svært at komme af med den 
 igen, eller få den redesignet til "det almindelige". Har egentlig også 
 mere lyst til at fylde de manglende tekster ind - baare ikke tid lige 
 nu...).
 Men der er vist ingen grund til at noget tilsvarende ikke skulle kunne 
 gøres med CSS, og almindelige link eller lister, som er det anbefalede 
 "brugervenlige".
 Jeg plaprer. Undskyld.
 Det var egentlig bare for at illustrere, at man har en menu, for at 
 gøre det nemt for den besøgende at navigere sitet.
 Der er ingen der siger at alting skal være indenfor rækkevidde hele 
 tiden - det skal bare være nemt at finde rundt i, og derfor er det 
 smart at koble relaterede emner sammen.
 Og det kan altså lade sig gøre, uden at skulle konstruere et 
 "menuelement", der kan det hele og lidt til. Det er stadig indholdet 
 der er det vigtigste. Menuens opgave er at gøre det nemt for de 
 besøgende at finde det de skal bruge. Og det kan gøres på mange måder. 
 Det er bestemt tilladt at tænke kreativt - man behøver ikke "låne" af 
 andre, og resultatet skal ikke nødvendigvis ligne noget andet...
 B-)
 Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
           Rune Jensen (30-08-2009) 
 
	
          | |  | Kommentar Fra : Rune Jensen
 | 
 Dato :  30-08-09 13:49
 | 
 |  | 
 
            Birger Sørensen skrev:
 > Men der er vist ingen grund til at noget tilsvarende ikke skulle kunne 
 > gøres med CSS, og almindelige link eller lister, som er det anbefalede 
 > "brugervenlige".
 Problemet i øjeblikket er, at standarderne halter lidt. De er bagefter i 
 tid i forhold til folks reelle behov, ufærdige, og visse steder ikke 
 dokumenteret godt nok. Nogle roder med CSS3 og HTML5, som begge giver 
 enorme nye muligheder, og det giver vel også flere muligheder til JS.. 
 men vi er lidt stucked i den "gammeldags" måde at kode på.. det virker j 
 ikke endnu alt det nye.. og det varer minimum 4-5 år, før der sker mere 
 (før standarderne er færdige, alle har det implementeret og opgraderet 
 deres browsere).
 Jeg fandt lige hurtigt:
http://www.ibm.com/developerworks/library/x-html5/ Så vidt jeg er orienteret, kan HTML5 godt sendes som XML. Og da det er 
 meget mere semantisk end forrige standarder, vil det vel nærme sig XML 
 mere, end selv XHTML.
 PS: Det er lang tid siden, men jeg læste et sted, at der er tænkt AJAX 
 ind i standarderne mht. brugervenlighed (eller nærmere, måske det med 
 ikke at skulle hente siden hver gang). Problemet er bare stadig, man 
 ikke ved, hvad som virker og hvad ikke. (Og jeg har ingen anelse om 
 ellers, hvordan det så virker)
 MVH
 Rune Jensen
            
             |  |  | 
           Philip Nunnegaard (30-08-2009) 
 
	
          | |  | Kommentar Fra : Philip Nunnegaard
 | 
 Dato :  30-08-09 14:35
 | 
 |  | 
 
            Birger Sørensen skrev:
 > Med :hover (og andre pseudoklasser), kan det faktisk lade sig gøre at få 
 > samme funktionalitet - eller i hvert fald tæt på.
 Min tanke var nu at menupunkterne skulle forblive klappet ud, når musen 
 forlod det.
 > http://lystruplund.dk  - også med venligt lån fra webdesign101 - har 53 
 > menupunkter, foldeud i 3 niveauer, der selv lukker, når musen fjernes.
 > Og det er ren CSS. Og den er ikke brugbar i IE6 - vist mest fordi jeg 
 > ikke goder rode med forældede browsere..
 Men ellers har jeg samme rene css-løsning på www.hitsurf.dk. Eller næsten rene. For der kaldes en .htc-fil som gør at den også virker 
 i IE6.
 Siden er lavet for 2 år siden, hvor IE6 stadig var den mest udbredte 
 IE-version. Havde jeg lavet det i dag, havde jeg nok ikke gidet bekymre 
 mig om det, og da slet ikke når fallback-muligheden trods alt er der.
 (Og jeg havde heller ikke lavet fastlåst bredde, hvis jeg skulle lave 
 det samme i dag).
 Som fallback kommer underpunkterne så også frem på undersiden, hvis man 
 klikker på hovedpunktet.
 > På bbsorensen.dk, en anden måde at gøre tingene på.
 > Undermenuerne findes på deres egen side. I stedet for at have dem poppe 
 > op eller ned eller folde ud den ene eller den anden vej, åbner et klik 
 > på et hoved-menupunkt - vandret i toppen - en side, der indeholder 
 > underpunkterne, som en selvstændig menu - lodret i siden.
 Det ligner igen den fallback, jeg har på Hitsurf.
 Jeg tager det som udtryk for at jeg ikke tænkte helt galt i sin tid, så 
 jeg tror egentlig bare at jeg holder fast i det.
 Det var meget godt at få drøftet, inden jeg kom for langt med det.
 -- 
 Philip - http://chartbase.dk |  |  | 
            Stig Johansen (30-08-2009) 
 
	
          | |  | Kommentar Fra : Stig Johansen
 | 
 Dato :  30-08-09 15:43
 | 
 |  | 
 
            "Philip Nunnegaard" <nunnenospam@hitsurf.dk> wrote in message
 news:4a9a7fdc$0$56775$edfadb0f@dtext02.news.tele.dk...
 > Men ellers har jeg samme rene css-løsning på www.hitsurf.dk. Nu er vi i .clientside gruppen, og du har selv eksponeret din URL - så...
 > Eller næsten rene. For der kaldes en .htc-fil som gør at den også virker
 > i IE6.
 Den fejler et par steder i IE6.
 Først fordi jeg har lavet en URL blocking på chart.dk, det være hvad det
 vil, men senere fejler den også her:
 .....
 <script type='text/javascript'>
  track_visitor(39489, '');
 .....
 Ikke alle synes det er en god idé at aflevere data til 'trackere' og
 'countere' (aka 3. mand).
 det burde være muligt at lave en 'if', der tjekker om objektet/funktionen
 eksisterer...
 --
 Med venlig hilsen/Best regards
 Stig Johansen
            
             |  |  | 
             Philip Nunnegaard (30-08-2009) 
 
	
          | |  | Kommentar Fra : Philip Nunnegaard
 | 
 Dato :  30-08-09 15:45
 | 
 |  | 
 
            Stig Johansen skrev:
 > det burde være muligt at lave en 'if', der tjekker om objektet/funktionen
 > eksisterer...
 Eller simpelt hen fjerne det helt. :)
 -- 
 Philip - http://chartbase.dk |  |  | 
  Peter (28-08-2009) 
 
	
          | |  | Kommentar Fra : Peter
 | 
 Dato :  28-08-09 23:08
 | 
 |  | 
 
            > Er ikke afprøvet:
 >
 > <input type="text" (...indsæt selv parametre/attributter...) value="Skriv 
 > her" onfocus="this.value='';" />
 >
 > -- 
 > Philip - http://chartbase.dk Hej Philip!
 Scriptet er nu "afprøvet" og det virker. Mange tak for hjælpen !!!
 hilsen
 Peter 
            
             |  |  | 
   Jakob Bohm (29-08-2009) 
 
	
          | |  | Kommentar Fra : Jakob Bohm
 | 
 Dato :  29-08-09 20:58
 | 
 |  | 
 
            Peter wrote:
 >> Er ikke afprøvet:
 >>
 >> <input type="text" (...indsæt selv parametre/attributter...) value="Skriv 
 >> her" onfocus="this.value='';" />
 >>
 >> -- 
 >> Philip - http://chartbase.dk > 
 > 
 > Hej Philip!
 > 
 > Scriptet er nu "afprøvet" og det virker. Mange tak for hjælpen !!!
 > 
 > hilsen
 > Peter 
 > 
 > 
 NEJ, scriptet virker ikke!  Se Birgers post fra kl. 16:56 for hvad der
 er galt og hvad løsningen er.
            
             |  |  | 
    Peter (29-08-2009) 
 
	
          | |  | Kommentar Fra : Peter
 | 
 Dato :  29-08-09 21:30
 | 
 |  | Hej Jacob!
 
 Sådan noget vrøvl. Du skal da ihvertfald ikke kommer her og påstå at min
 kommentar ikke passer.
 Scriptet er "testet" på: IE 8, Firefox, Google Chrome + SeaMonkey. Hvilke
 browsere har du testet scriptet med?
 
 Peter
 
 >> Scriptet er nu "afprøvet" og det virker. Mange tak for hjælpen !!!
 >>
 >> hilsen
 >> Peter
 >>
 >>
 > NEJ, scriptet virker ikke!  Se Birgers post fra kl. 16:56 for hvad der
 > er galt og hvad løsningen er.
 
 
 
 
 |  |  | 
     Jakob Bohm (29-08-2009) 
 
	
          | |  | Kommentar Fra : Jakob Bohm
 | 
 Dato :  29-08-09 22:41
 | 
 |  | Peter wrote:
 > Hej Jacob!
 >
 > Sådan noget vrøvl. Du skal da ihvertfald ikke kommer her og påstå at min
 > kommentar ikke passer.
 > Scriptet er "testet" på: IE 8, Firefox, Google Chrome + SeaMonkey. Hvilke
 > browsere har du testet scriptet med?
 >
 > Peter
 >
 >>> Scriptet er nu "afprøvet" og det virker. Mange tak for hjælpen !!!
 >>>
 >>> hilsen
 >>> Peter
 >>>
 >>>
 >> NEJ, scriptet virker ikke!  Se Birgers post fra kl. 16:56 for hvad der
 >> er galt og hvad løsningen er.
 >
 >
 Læs den post jeg henviste til.  Dette script vil slette feltet HVER gang
 man klikker på det, uanset om det der står i feltet er startværdi eller
 brugerens forrige indtastning.  Hvis du kun tester den første situation
 (på uendeligt mange browsere) vil du aldrig opdage fejlen!
 
 
 |  |  | 
      Peter (29-08-2009) 
 
	
          | |  | Kommentar Fra : Peter
 | 
 Dato :  29-08-09 23:03
 | 
 |  | Hej Jacob!
 
 >>>> Scriptet er nu "afprøvet" og det virker. Mange tak for hjælpen !!!
 >>>>
 >>>> hilsen
 >>>> Peter
 >>>>
 >>> NEJ, scriptet virker ikke!  Se Birgers post fra kl. 16:56 for hvad der
 >>> er galt og hvad løsningen er.
 >>
 > Læs den post jeg henviste til.  Dette script vil slette feltet HVER gang
 > man klikker på det, uanset om det der står i feltet er startværdi eller
 > brugerens forrige indtastning.  Hvis du kun tester den første situation
 > (på uendeligt mange browsere) vil du aldrig opdage fejlen!
 
 Vi taler om 2 forskellige ting. Du læser åbenbart ikke posten fra trådens
 start. Mine "behov" i forespørgelsen pr.28/8 kl. 21.28 er løst af Philip kl.
 23.03 - Dermed er "spørgerens" problem løst m.h.t. "om det virker". At du
 (og andre) "går videre" og forædler scriptet til perfektion er da ligesom
 underordnet og derefter begynder at tale om "at jeg aldrig vil opdage
 fejlen". Stadigvæk ud fra mine ønsker fungerer scriptet som Philip har lavet
 og alle mulige "langhårede" begrundelser kan da ikke underkende og
 bortforklare at scriptet virker.
 
 Peter
 
 
 
 
 |  |  | 
       Rune Jensen (30-08-2009) 
 
	
          | |  | Kommentar Fra : Rune Jensen
 | 
 Dato :  30-08-09 07:50
 | 
 |  | Peter skrev:
 
 > [...] og derefter begynder at tale om "at jeg aldrig vil opdage
 > fejlen". Stadigvæk ud fra mine ønsker fungerer scriptet som Philip har lavet
 > og alle mulige "langhårede" begrundelser kan da ikke underkende og
 > bortforklare at scriptet virker.
 
 Du er ikke fair overfor Jacob, han præver at hjælpe dig. Han henviser
 til en situation, som kan være et problem for brugeren, og i værste fald
 et kæmpe irritationsmoment. Det er helt validt hvad både han og Birger
 skriver, selv om Philips script bestemt er fint.
 
 Det er iøvrigt ikke dine ønsker og behov, det handler om, men brugerens,
 hvis du vil have en side, folk føler sig tilpas med. Den havde jeg også
 svært ved at bide i mig i starten. Derfor skal man skelne imellem, hvad
 der teknisk virker, og hvad der virker for brugeren. Jeg kan nævne mange
 ting, der er teknisk mulige, ikke alle er smarte (eller brugervenlige,
 hvilket er hvad det handler om her).
 
 Nu har du i hvert fald fået samme svar flere steder fra, så kan du jo
 selv bestemme.
 
 
 MVH
 Rune Jensen
 
 
 |  |  | 
        Stig Johansen (30-08-2009) 
 
	
          | |  | Kommentar Fra : Stig Johansen
 | 
 Dato :  30-08-09 09:42
 | 
 |  | Rune Jensen wrote:
 
 > Du er ikke fair overfor Jacob,
 
 Jeg vil ikke blande mig, men Jacob kunne godt have formuleret sit indlæg
 anderledes.
 
 Måske skulle han have brugt et andet ordvalg end 'det virker ikke'.
 
 Jo, scriptet *virker*, men der var en *uhensigtsmæssighed*, som Peter
 sikkert ikke var opmærksom på.
 
 Jeg ville nok have skrevet det lidt anderledes, a lá:
 "Jo, det virker, men vær opmæksom på denne uhensigtsmæssighed osv.."
 I stedet for kategorisk at udtale "det virker ikke"...
 og derefter kommet med et forslag til forbedring.
 
 --
 Med venlig hilsen
 Stig Johansen
 
 
 |  |  | 
         Rune Jensen (30-08-2009) 
 
	
          | |  | Kommentar Fra : Rune Jensen
 | 
 Dato :  30-08-09 11:37
 | 
 |  | Stig Johansen skrev:
 
 > Jeg ville nok have skrevet det lidt anderledes, a lá:
 > "Jo, det virker, men vær opmæksom på denne uhensigtsmæssighed osv.."
 > I stedet for kategorisk at udtale "det virker ikke"...
 > og derefter kommet med et forslag til forbedring.
 
 Det er klart nok, men jeg opfattede det faktisk som et forsøg på at
 hjælpe, for er der noget, som irriterer brugerne, så er det, hvis en
 side "modarbejder" én.. selv om ja, det kunne være formuleret bedre. Men
 der var jo ingen kritik i det.. sådan lød det ikke for mig. Men dit
 ordvalg ville være bedre.. joh.
 
 
 MVH
 Rune Jensen
 
 
 |  |  | 
  Lasse Reichstein Nie~ (30-08-2009) 
 
	
          | |  | Kommentar Fra : Lasse Reichstein Nie~
 | 
 Dato :  30-08-09 03:03
 | 
 |  | 
 
            Philip Nunnegaard <nunnenospam@hitsurf.dk> writes:
 > Philip Nunnegaard skrev:
 >
 >> Er ikke afprøvet:
 >> <input type="text" (...indsæt selv parametre/attributter...)
 >> value="Skriv her" onfocus="this.value='';" />
 >
 > Jeg har nu afprøvet det, og det virker i alle browsere som jeg har ved
 > hånden.
 >
 > Men måske Birger eller en anden javascripthaj kan uddybe, hvis dette
 > "this.value" ikke er korrekt javascript, og man evt. *skal* bruge
 > document.getElementById.
 Der er ikke noget galt i at bruge "this" inde i en "intrinsic event
 handler". Det virker i alle browsere, og bliver ved med det længe
 endnu (fordi der er så mange der bruger det allerede :).
 Det er dog ikke specificeret i hverken HTML eller DOM standarderne
 hvordan HTML og script bindes sammen. Det kommer først i HTML 5,
 som ikke er færdig endnu. Der bliver det officielt at "this" skal
 pege på det element som handleren er sat på.
 Og som løsning på det oprindelige problem vil jeg foreslå:
  <script>
    function resetOnFocus(element) {
       if (element.value == element.defaultValue) {
         element.value = "";
       }
       element.style.color = "black"; 
    }
  </script>
  <input type="text" style="color:gray" value="- skriv her -"
         onfocus="resetOnFocus(this);">
 /L
 -- 
 Lasse Reichstein Holst Nielsen
  DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>   'Faith without judgement merely degrades the spirit divine.'
            
             |  |  | 
  Leif Neland (01-09-2009) 
 
	
          | |  | Kommentar Fra : Leif Neland
 | 
 Dato :  01-09-09 18:57
 | 
 |  | Philip Nunnegaard skrev:
 > Peter skrev:
 >
 >> I min formular har jeg et felt med "startværdi" altså et tekstfelt der
 >> allerede har en tekst (et spørgsmål) stående. Det virker ikke smart,
 >> da den
 >> "besøgende" på siden, først skal sætte curseren i feltet og dernæst
 >> slette
 >> den indsatte tekst med "backspace" (slettetasten). Kan det ikke gøres
 >> ved at
 >> feltet bliver "ryddet" i samme øjeblik man placerer musecurseren i
 >> feltet ?
 >
 > Er ikke afprøvet:
 >
 > <input type="text" (...indsæt selv parametre/attributter...)
 > value="Skriv her" onfocus="this.value='';" />
 >
 >
 Det er nok bedre med
 onfocus="if (this.value=='Skriv her') {this.value=''}"
 
 (Heller ikke afprøvet)
 
 Ellers bliver det, man har skrevet, slettet, når man flytter focus væk
 og tilbage til feltet.
 
 Leif
 
 
 |  |  | 
   Philip Nunnegaard (01-09-2009) 
 
	
          | |  | Kommentar Fra : Philip Nunnegaard
 | 
 Dato :  01-09-09 18:59
 | 
 |  | 
 
            Leif Neland skrev:
 > Det er nok bedre med
 > onfocus="if (this.value=='Skriv her') {this.value=''}"
 > 
 > (Heller ikke afprøvet)
 > 
 > Ellers bliver det, man har skrevet, slettet, når man flytter focus væk 
 > og tilbage til feltet.
 Ja, det mindede Birger mig også lige om, så jeg lavde det til noget der 
 minder om din.
 -- 
 Philip - http://chartbase.dk |  |  | 
 |  |