![]() |
[javascript] VB => javascript
Hoi, enkele dagen geleden heb ik in het centraal HTML/CSS/JAVASCRIPT topic het volgende gepost. Wegens geen reactie en omdat ik eigenlijk denk dat het er niet echt past (omdat dit ook over VBscript gaat, en bovendien en vooral omdat het server-side is, terwijl in het centrale topic het toch over client-side gaat...) nog maar eens een poging, maar dan hier.
Ik heb volgend VBscriptje dat wordt uitgevoerd wanneer tekst uit een textarea gehaald wordt. Het vertaalt Chr(13) (= een linebreak, dus wanneer er enter gedrukt wordt) naar <br />. Code:
<SCRIPT runat=SERVER language=VBSCRIPT> Mij lijkt volgende vertaling naar javascript perfect te moeten werken, maar helaas doet hij het niet. Code:
function lineBreak(str){ |
Wanneer je de moeite had genomen om de reference door te lezen en de bijbehorende uitleg over regular expression, had je kunnen zien dat je
Code:
str = str.replace( /\n/g, "<br \/>" ); |
Citaat:
And I did!!! :p Dat had ik namelijk ook al geprobeerd, maar helaas zonder succes. Maar ik kwam hier eigenlijk nog eens kijken om het volgende te roepen: EUREKA De enige echte werkende oplossing is namelijk: str = str.replace(/%0D%0A/g,"<br />"); Blijkbaar wordt een 'enter' omgezet in de codereeks ' %0D%0A ' wanneer je het rechtstreeks uit een textarea haalt en naar een javascript variabele omzet. Wat er ook van zij, hiermee werkt het dus !!! Joepie :D Baai de weej: vraag me niet hoe, maar helemaal zelf gevonden :o :D (y) |
Tja, dat een enter wordt omgezet in %0D%0A had ik je ook kunnen vertellen wanneer je meer informatie had gegeven over het gebruik en het doel van de replace.
Mijn antwoord is de javascript kopie van de VB replace. |
Ahaaaaa, nu snap ik 'm helemaal...
Ik haalde de form - variabelen op uit de form met Request.Form(). Zo kwamen ze er allemaal ineens uit. Ik zette die dan om naar een string en splitste de string om het in een mooie array te krijgen. En als je ze zo allemaal ineens ophaalt, dan krijg je zo van die vreemde tekenreeksen zoals die ' %0D%0A ' voor een enter, en een ' + ' voor een spatie en zo. Wanneer je ze nu één voor één ophaalt uit de form (met Request.Form("tekst") voor de textarea met naam "tekst" bijvoorbeeld), dan krijg je je tekst zonder al die vreemde tekens. En in dit laatste geval werkt de .replace( /\n/g, "<br />" ); wel. @ Eddie: mijn excuses, onder de juiste omstandigheden klopt jouw oplossing wel :bloos: |
Citaat:
|
Alle tijden zijn GMT +1. Het is nu 18:02. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.