Avatar billede kledal Nybegynder
05. april 2002 - 17:34 Der er 9 kommentarer og
1 løsning

jeg skal lave en replace

jeg skal gemme noget tekst i en database.
Men inden den bliver gemt skal jeg ændre alle gange der er trykket "ENTER" ud med en helt alm. break ("br").
Hvordan gør jeg det!!!
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function replaceChars(entry) {
out = "chr(10)/chr(13)";
add = "<br>";
temp = "" + entry;

while (temp.indexOf(out)>-1) {
pos= temp.indexOf(out);
temp = "" + (temp.substring(0, pos) + add +
temp.substring((pos + out.length), temp.length));
}
document.replace.text.value = temp;
}
//  End -->
</script>
<form name="replace">

<textarea name=text></textarea>
<input type=button name=action value="done!" onClick="replaceChars(document.replace.text.value);">

Jeg har prøvet ovenstående men det funker ikke, nogen der kan hjælpe??
Mvh Kledal
Avatar billede Slettet bruger
05. april 2002 - 17:35 #1
Bruger du PHP til at skrive til databasen?

For så kan du bare bruge: nl2br($text)
Avatar billede kledal Nybegynder
05. april 2002 - 17:36 #2
nej jeg bruger ASP
Mvh Kledal
Avatar billede Slettet bruger
05. april 2002 - 17:38 #3
Du kan evt. prøve:

function nl2br(txt) {
temp = txt.replace(/\n/g,"<br>");
return temp;
}
Avatar billede rou Nybegynder
05. april 2002 - 17:39 #4
En god ide er at gemme teksten som den er originalt, og så erstatte linebreaks med HTML tags, når du skal skrive det ud. Så sikrer du dig at du har den originale tekst, og kan bruge den til andet end html.
Avatar billede Slettet bruger
05. april 2002 - 17:44 #5
Det her er da nogenlunde godt:

<html>
<head>
<script>
function nl2br(txt) {
temp = txt.replace(/\n/g,"<br>");
return temp;
}

function udsk(f) {
t = f.ta;
t.value = nl2br(t.value);
}
</script>
</head>
<body>
<form>
<textarea name="ta" cols="50" rows="5">Alle linjeskift heri...
vil blive udskiftet med <br>!</textarea>
<br><br>
<input type="button" value="Udskift linjeskift!" onClick="udsk(this.form);">
</form>
</body>
</html>
Avatar billede kledal Nybegynder
05. april 2002 - 17:54 #6
jeg ved ikke helt om dette virker endnu, da jeg først skal prøve at få det skrevet ud i flash efter det har været en tur inden om databasen, men jeg vender tilbage og giver dig points hvis det funker, tak
Avatar billede kledal Nybegynder
09. april 2002 - 10:39 #7
Okay, så har jeg fået testet det, det funker ike.
da funktionen jo bare indsætter en break efter linieskiftet.
Linieskiftet bliver ikke byttet ud.

eks.
JEG SRIVER DETTE
HER IND I FELTET

så aktiverer jeg funktionen
og så bkliver det byttet ud med dette:

JEG SKRIVER DETTE
<BR>HER IND I FELTET

det skal helst komme til at se sådan her ud:
JEG SKRIVER DETTE <BR>HER IND I FELTET

Mvh Kristian
Avatar billede Slettet bruger
09. april 2002 - 16:56 #8
Det kan jeg desværre ikke få til at virke.
Avatar billede kledal Nybegynder
09. april 2002 - 16:58 #9
Det er iorden, jeg har fået det til at virke.

den skal se sådan her ud.
<script>
function nl2br(txt) {
    temp = txt.replace(/\r/g,"");
    temp = temp.replace(/\n/g,"<br>");
    return temp;
    }



function udsk(f)
{
t = f.over;
t.value =nl2br(t.value);
}
</script>

så det hjalp hvad du sagde, men ikke helt perfekt, men tusind tak for hjælpen.

Mvh Kristian
Avatar billede Slettet bruger
09. april 2002 - 21:18 #10
Nårh jo, man skal også huske \r!

Tak for points!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester