Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 05-06-2004, 13:05
Kawoutertje
Avatar van Kawoutertje
Kawoutertje is offline
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>                                       
function mt_lineBreakXHTML(str)
on error resume next
mt_lineBreakXHTML = Replace(str,Chr(13),"<br />")
End Function
</SCRIPT>
Nu had ik dit graag in javascript gehad, omdat ik een verstokte ASP-javascript gebruiker ben, en het dus mooier zou passen in mijn code mocht het javascript zijn.
Mij lijkt volgende vertaling naar javascript perfect te moeten werken, maar helaas doet hij het niet.
Code:
function lineBreak(str){
   str = str.replace(chr(13)/g,"<br />");
   return str;
}
De fout zit 'm volgens mij in de "chr(13)", maar ik weet helaas niet hoe ik dit kan oplossen... Alle creatieve suggesties welkom ...
__________________
When you are arguing with an idiot, make sure the other person isn't doing the same thing.
Met citaat reageren
Advertentie
Oud 05-06-2004, 14:52
Verwijderd
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 \/>" );
moet gebruiken. Volgende keer zelf even wat moeite doen dus
Met citaat reageren
Oud 05-06-2004, 21:21
Kawoutertje
Avatar van Kawoutertje
Kawoutertje is offline
Citaat:
eddie schreef op 05-06-2004 @ 15:52 :
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 \/>" );
moet gebruiken. Volgende keer zelf even wat moeite doen dus
Ik pleit schuldig. Zo nu en dan post ik zinloze dingen, maar wanneer iemand eerst iets in een subforumpje (lees: centraal topic) post om het daarna als echte topic in het hoofdforum te posten, zou je toch wel mogen verwachten dat hij/zij eerst wel zelf wat gezocht heeft.

And I did!!!
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


Baai de weej: vraag me niet hoe, maar helemaal zelf gevonden
__________________
When you are arguing with an idiot, make sure the other person isn't doing the same thing.
Met citaat reageren
Oud 06-06-2004, 12:49
Verwijderd
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.
Met citaat reageren
Oud 06-06-2004, 12:49
Kawoutertje
Avatar van Kawoutertje
Kawoutertje is offline
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
__________________
When you are arguing with an idiot, make sure the other person isn't doing the same thing.
Met citaat reageren
Oud 06-06-2004, 12:55
Verwijderd
Citaat:
Kawoutertje schreef op 06-06-2004 @ 13:49 :
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.
Wat is dat nou weer voor een wazige server-side programmeertaal? Een functie meer aandroep X geeft wat anders terug dan met aandroep Y... Zeker ASP (.NET)?
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 15:15.