Hes: Mehrzeilige Formularfelder / Umbruch in Lauftext

Klingt ganz schön gefährlich, was ich da will, was? Keine Sorge, soll keine Werbung werden, um arme Surfer zu erschrecken, sondern der Auftakt (per Beamer) für ein außergewöhnliches Geburtstagsgeschenk.

<html>
<head><title>Happy Birthday</title>
<script language="JavaScript">
<!--
  timer=null;

function start() {
    text="Da hat doch jemand heute Geburtstag ? Happy Birthday, XXX ! Dass der Macintosh sprechen kann, hast Du sicherlich laengst gewusst. Aber wusstest Du, dass er auch singen kann ? Es singt fuer Dich MacJuliet...";
    ll=text.length;
    ii=0;
    lauf();
  }
  function lauf() {
    document.form.text.value=text.substring(0,ii);
    ii++;
    if(ii > ll)ii=0;
    timer=setTimeout("lauf()", 200);
  }

//-->
</script>
</head>

<body bgcolor="#000000" onLoad="start()">

<form name="form">
<input type="text" name="text" value="" style="border: black thin solid; width:1000px; background-color:#000000; font-size:30pt; font-family:Courier New; color:#A5FF2E">
</form>

</body>
</html>

Mein Script soll den Anschein haben, als würde einer unserer Rechner via Terminal meinen Kollegen ansprechen. Da mach ich auch noch was an der Optik, versprochen. Ich werf' das dann per Beamer an die Wand. Im IE sieht 's bereits phantastisch aus. Um die anderen Browser werde ich mich nicht kümmern, weil es ja nur für den einen Anlaß bestimmt ist. Safari unterstützt bestimmte Spielereien einfach nicht - schade.

Was nun mein Problem ist? Ich hätte natürlich zu gern Zeilenumbrüche bei der Ausgabe. Das scheint aber nur über document.write möglich zu sein. Da ich nicht so JS fit bin, war ich nicht in der Lage, dieses Script so umzuschreiben, daß mein gewünschter Effekt über document.write realisiert wird, sondern klebe an diesem Formular / Script fest.

Kann man in mein Script, so wie es ist, Zeilenumbrüche einfügen und das Ausgabefeld mehrzeilig machen? Cols und Rows, wie man sie von "textarea" kennt, haben nichts bewirkt.

Kleines Bonbon für die Mac-User: Hier kann man mein oben erwähntes Sing-Script sehen:

http://www.apfeltalk.de/showthread.php?postid=32341#post32341

Bin für jeden Tipp dankbar, der mein Geburtstagsgeschenk perfekt macht - Hes

  1. hi,

    Kann man in mein Script, so wie es ist, Zeilenumbrüche einfügen und das Ausgabefeld mehrzeilig machen?

    ja, natürlich - nutze eine textarea anstatt eines input-feldes, um den text hineinzuschreiben.

    und einen zeilenumbruch in einem javascript-string stellst du einfach mit \n dar. "Hallo\nHes!"

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. Danke, Danke, Danke. Ich hatte gehofft, daß es so einfach ist. Ich hab' aber so selten was mit JS zu tun, daß bei mir der Groschen einfach nicht fallen wollte.

      Dankbarst - Hes

      1. hi,

        Ich hab' aber so selten was mit JS zu tun, daß bei mir der Groschen einfach nicht fallen wollte.

        dafür haben wir eine recht ansehnliche "münzsammlung" namens selfhtml, in der z.b. http://de.selfhtml.org/javascript/sprache/notationen.htm#zeichenketten dir das auch verraten hätte ;-)

        gruß,
        wahsaga

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
        1. Hi Du,

          ich dachte, für solche Spielereien, wo sich was bewegt, dürfe man keine Textfelder nehmen. Wie gesagt, bin eben noch grün hinter den Ohren, was JS betrifft. Mußte allerdings auch ein wenig grinsen, als ich mir mit Deiner Lösung dann einen Scrollfeld angehext habe, obwohl mein Bereich von der Größe ausreicht. War weder über "scrolling", "overflow" noch "height" zu verscheuchen *lach*. Hab jetzt einfach per JS das Browserfenster so verkleinert, daß er nicht mehr zu sehen ist - Trick 17 sozusagen.

          Danke Dir nochmals - Hes