BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Webdesign (http://www.black-board.net/board.php?boardid=19)
--- Zeilenumbruch in JavaScript (http://www.black-board.net/thread.php?threadid=5133)


Geschrieben von Trutzy am 04.05.2002 um 01:05:

  Zeilenumbruch in JavaScript

Tach,


ich habe folgendes Problem:

ich muss den in ein Textfeld eingegebenen Text über ein JavaScript so verändern dass die Zeilenumbrüche in eine Leerstelle (" ") umgewandelt werden. Weiss jemand wie ich dat hinbekommen könnte?



Geschrieben von LX am 04.05.2002 um 14:49:

Achtung

Nehmen wir an, du hast ein Textfeld und einen Button, mit dem du dessen Inhalt übermittelst:
code:
1:
2:
3:
<textarea id="super" cols="20" rows="3"></textarea>
<br/>
<input type="button" onClick="konvertieren()">


Dann brauchst du eine Funktion konvertieren() die so aussieht:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
<SCRIPT type="text/javascript">
<!--
function konvertieren()
{
    var Text = document.getElementById('super').value;
    var Hilfe = new Array();
    Hilfe = Text.split('\n');
    Text = "";
    for (var i = 0; i < Hilfe.length; i++)
    {
        Text += Hilfe[i] + ' ';
    } 
}
// -->
</SCRIPT>


Zur Erklärung: Den Inhalt übermittle ich mit getElementById(), du kannst es aber auch auf andere Möglichkeiten in JavaScript machen. Die String-Methode split() spaltet einen String an den Stellen, wo sich der Teil in den Klammern (in diesem Fall '\n', ein Zeilenumbruch) befindet und speichert das Resultat in einem Array (Hilfe). Danach lösche ich die Variable Text und speichere darin die einzelnen Teilstrings aus Hilfe wieder ab, getrennt durch ein Leerzeichen. Fertig smile



Geschrieben von Trutzy am 04.05.2002 um 15:12:

Fragezeichen

Auf diesem Weg habe ich es auch schon versucht, aber wenn ich deine Funktion um
code:
1:
alert(Text);

erweitere wird der Zeilenumbruch trotzdem durchgeführt.



Geschrieben von LX am 04.05.2002 um 16:13:

 

Aha, ich merke schon, der Internet Explorer lässt das '\n' trotzdem in der Zeichenkette drin, wohingegen mein Browser das Trennzeichen entfernt... na gut, ist nicht das große Problem, dann fügst du eben eine kleine Abfrage in das Skript ein. Fertig sieht's dann so aus:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
<SCRIPT type="text/javascript">
<!--
function konvertieren()
{
    var Text = document.getElementById('super').value;
    var Hilfe = new Array();
    Hilfe = Text.split('\n');
    Text = "";
    for (var i = 0; i < Hilfe.length; i++)
    {
        if (document.all) Hilfe[i] = Hilfe[i].substring(0,Hilfe[i].length-1);
        Text += Hilfe[i] + ' ';
    }
	alert(Text); // zum Testen der Ausgabe
}
// -->
</SCRIPT>


Damit löschst du jeweils das letzte Zeichen der Teilstrings. Wenn du sie dann zusammenfügst sind die Umbrüche nicht mehr drin.



Geschrieben von Trutzy am 04.05.2002 um 18:00:

Augenzwinkern Problem gelöst

Herzlichen Dank, das Skript ist genau richtig für meine Zwecke.


Danke!


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH