10. december 2008 - 12:08Der er
8 kommentarer og 1 løsning
replace <br> med \n\r - virker kun første gang.
Hejsa folkens..
Jeg har lavet en funktion på min hjemmeside, som vha AJAX gør det muligt at rette nyheder ved at dobbeltklikke på nyheden så den bliver lavet om til et textarea. Herefter kan man rette og gemme til databasen.
Mit problem er nu, at når jeg dobbeltklikker på nyheden og den bliver sat ind i det omtalte textarea til retning, så vises <br> tags i feltet. Jeg er så ved at forsøge at lave en funktion som udskifter <br> med \n\r. Det virker til dels, men problemet er at det af en eller anden grund kun er første <br> tag der bliver udskiftet. Resten lader den ligge. Nogen der har en idé til hvad der kan være galt?
Koden der laver udskiftningen:
var s = obj.innerHTML; s = s.replace(/<br>/, '\n\r');
olebole -> Jeg håber da at jeg har forstået det rigtigt når jeg mener at Ajax er når man kommunikerer asynkront med noget serverside? Jeg er på ingen måde ekspert på området (er kun lige begyndt at lære), men det jeg har lavet bruger prototype.js til at lave et ajax request når den rettede nyhed gemmes ned i databasen..
At det så ikke er Ajax jeg spørger til, er jo en helt anden ting, men det var bare for at prøve at forklare hvad det var jeg lavede ;)
Men nu hvor vi er ved det der med at jeg er nybegynder... Nogen gode forslag til hvor jeg kan tage fat hvis jeg gerne vil have et godt udgangspunkt og lære en masse? Nogle gode idéer til at blive god til Javascript?
Det er overordentlig svært at finde gode artikler og tutorials i almindelighed - og om Ajax i særdeleshed. De fleste er fyldt med seriøse fejl, mangler og misforståelser.
Desværre ser det ud somom, at mange af de, der skriver libraries, har deres 'viden' (og ikke mindst deres mangel på samme) fra den slags kilder. Formodentlig er det også årsagen til, at libraries som Prototype, Scriptaculous og jQuery i høj grad består af oldnordisk, invalid og uhensigtsmæssig kode.
Således har brug af innerHTML masser af yderst yhensigtsmæssige sideeffekter - udover det faktum, at innerHTML aldrig har været valid i forhold til nogen somhelst standard.
Ajax er en teknik, der fik sit navn i 2005. Derfor virker det lidt sært, at folk bliver ved med at sammenrode Ajax og innerHTML - som jo er et levn fra version 4 browserne, hvor vi ikke havde andre muligheder for at manipulere dokumentets elementer.
Siden 1999 har vi med DOM'ens indførelse haft langt bedre metoder, så det må efterhånden være på tide, vi kikker dybere i DOM end lige til getElementById ;o)
mireigi -> Tak for kilde. Det vil jeg prøve at tjekke ud!
olebole -> Jeg kan sagtens forstå de ting du siger, og det er heller ikke første gang jeg hører folk sige at innerHTML er uhensigtsmæssigt. Desværre er det bare sådan at jeg som sagt er temmelig nyopstartet hvad angår alt det her scripting, og jeg er lidt afhængig af at kunne finde det fornødne materiale jeg skal lære af på nettet (primært i hvert fald). Og i og med at der rigtig meget bliver gjort brug af innerHTML, så er det svært at lære andet til sig i min situation.
Du har ikke nogle konkrete eksempler på hvor jeg kan finde nyttig (og korrekt) info?
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.