13. oktober 2009 - 15:51
Der er
6 kommentarer og 1 løsning
Line break i javascript
Hej Spørgsmålet er ikke helt så let som overskriften kan antyde så svaret er ikke bare "\n" :-) Jeg er igang med en AJAX applikation hvor al rendering foregår i Javascript og til det formål bruger jeg attachEvent for bl.a. IE browsere. Linjen ser sådan ud: else if (elm.attachEvent) elm.attachEvent("on" + evt, function() { eval(func) }) I dette tilfælde er (func) en streng indeholdene indholdet af en funktion. Det ser sådan her ud: if(confirm('Do you wish to continue \n Remember that it is for real!')){MoveOn();}; Problemet er her at strengen indeholder \n og derfor mener IE at strengen ikke er afsluttet. Jeg har prøvet med escape / unescape uden held. Nogen forslag?
Annonceindlæg tema
13. oktober 2009 - 16:05
#1
prøv at sæt " rundt om strenen i stedet for '
13. oktober 2009 - 16:17
#2
forstod jeg ikke helt,. sætte " i stedet for ' hvor?
13. oktober 2009 - 16:30
#3
her: if(confirm('Do you wish to continue \n Remember that it is for real!')){MoveOn();}; rettes til: if(confirm("Do you wish to continue \n Remember that it is for real!")){MoveOn();};
13. oktober 2009 - 17:01
#4
splazz: der er ikke forskel på de to tegn i Javascript ligesom der er i PHP. Hvilken version af IE bruger du? Min version (8) har intet problem med \n Er du sikker på at de ikke bliver blandet andet "skrammel" ind i dit javascript, hvis du evt. udskriver det gennem PHP?
13. oktober 2009 - 19:38
#5
-> j4k0b - nej det er da rigtigt, ved ikke lige hvorfor jeg fik det blandet sammen :s -> #0 - bare glem min kommentarer :)
14. oktober 2009 - 11:58
#6
Hej igen Jeg har prøvet det I har skrevet indtil nu. Fejlen reproduceres i både IE7, IE8 og Firefox 3.5. Hvis jeg forsøger at lave en eval på denne linje i stedet for den oprindelige: if(confirm("Do you wish to continue [LineBreak] Remember that it is for real!")){MoveOn();}; så virker det fint, bortset fra at beskeden ikke er så pæn :-) Hele funktionen jeg kalder ser sådan ud: function addEvent(elm, evt, func) { if (elm.addEventListener) elm.addEventListener(evt, function() { eval(func) }, false); else if (elm.attachEvent) elm.attachEvent("on" + evt, function() { eval(func) }); else elm["on" + evt] = eval(func); } og kaldet ser sådan ud: tdElem = document.createElement("td"); addEvent(tdElem, "click", list[j].ImageOnclick); Har i flere ideer?
23. november 2009 - 10:36
#7
Jeg endte med at bygge det helt om, så løsningen kom ikke rigtig til at ligne noget af det vi talte om her.
Vi tilbyder markedets bedste kurser inden for webudvikling