[javascript] witregels

Pagina: 1
Acties:
  • 753 views

Acties:
  • 0 Henk 'm!

  • Dirickteur
  • Registratie: Januari 2003
  • Laatst online: 01-08 13:59
Hallo allemaal!

Ik heb een probleempje waar ik niet zo goed uitkom. Ik ben bezig met een site waarbij de gebruiker uit een drop-down-list een keuze kan maken. Na het maken van de keuze wordt een aantal velden in een form automatisch ingevuld.

De manier waarop ik dit doe, zal vast niet de beste zijn, maar mijn kennis reikt niet verder. De data wordt opgehaald met php uit een database en vervolgens in javascript-variabelen gezet. Met een onchange()-statement bij de dropdown-list worden de waarden van de velden automatisch vernieuwd.

Nu zit ik met een probleem: een van de velden bevat een stuk tekst inclusief alinea's. Nu snapt javascript daar helaas niets van. Een stukje voorbeeldcode:
code:
1
2
var verslag = 'Een heel stuk tekst
met linebreaks geeft mij een probleem';


Hoe kan ik er nu voor zorgen dat die linebreaks in dat stuk tekst niet voor problemen zorgen, maar dat deze tekst nog wel leesbaar en in alinea's in een textarea terecht komt?

Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 09:35

Haan

dotnetter

Een linebreak in javascript is "\n". Dus je moet ervoor zorgen dat je string die in je javascript var komt te staan, die linebreaks bevat waar nodig.

[ Voor 3% gewijzigd door Haan op 25-10-2010 11:48 ]

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • Icelus
  • Registratie: Januari 2004
  • Niet online
Speciale code \n voor line breaks gebruiken:
JavaScript:
1
var x = "Hello,\nworld!";

Developer Accused Of Unreadable Code Refuses To Comment


Acties:
  • 0 Henk 'm!

  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

Serverside in php een nl2br() over de string halen, dan worden alle linebreaks geconverteerd naar html <br/> elementen.

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


Acties:
  • 0 Henk 'm!

  • creator1988
  • Registratie: Januari 2007
  • Laatst online: 01-08 20:32
Of zet een '\' op het einde van je regel.

JavaScript:
1
2
var verslag = 'hallo dit is een \
stuk tekst over meerdere regels'

Acties:
  • 0 Henk 'm!

  • Wiethoofd
  • Registratie: Juli 2007
  • Laatst online: 09-06 23:17

Wiethoofd

Broadcast TOM

zwippie schreef op maandag 25 oktober 2010 @ 11:49:
Serverside in php een nl2br() over de string halen, dan worden alle linebreaks geconverteerd naar html <br/> elementen.
Als je de string in een <textarea> zet dan komt de <br/> daar dus ook in te staan, die gaat dus niet werken :P

Volg me op Twitter/X & Bluesky


Acties:
  • 0 Henk 'm!

  • Dirickteur
  • Registratie: Januari 2003
  • Laatst online: 01-08 13:59
Ok, ik heb het met jullie reacties op kunnen lossen.

Bij het opslaan in de database:
code:
1
2
3
function replace_newline($string) {
  return (string)str_replace(array("\r", "\r\n", "\n"), '', nl2br($string));
}


En bij het laden:
code:
1
document.forms[0].textarea.value = document.forms[0].textarea.value.replace(/<br>/gi, '\n');

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 14-07 21:33

NMe

Quia Ego Sic Dico.

Sorry, maar naast het feit dat je topic verkeerd staat (Waar hoort mijn topic?) had je hier ook best zelf achter kunnen komen met wat Googlen: [google=javascript new line in string] gebruikt geen jargon en heeft resultaat bij de eerste hit. ;) Volgende keer even zelf zoeken dus, asjeblieft. :)

[ Voor 6% gewijzigd door NMe op 25-10-2010 12:40 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.