JavaScript & Textarea

Textareas dienen der Eingabe von mehrzeiligen Textdaten in einem Formular. Sie werden beispielsweise bei Kontaktformularen dazu verwendet, um den Besucher zu ermöglichen eine individuelle Anfrage zu formulieren. Anders als bei einzeiligen Eingabefeldern wird bei der Textarea ein zur Vorbelegung bestimmtes String nicht in der Value-Eigenschaft, sondern als normaler Text innerhalb des Texarea-Tags – zwischen dem Öffnenden und dem Schliessenden Tag – angegeben. Ob und welcher Text durch den Benutzer selektiert wurde (selection) kann mit JavaScript ebenso über das Textarea-Element erfragt werden, wie die Position innerhalb des Textes , an welcher sich der Cursor gerade befindet.

JavaScript Textarea Beispiel 1: Textarea Value (Text im Eingabeelement)

Der nun folgende JavaScript Code zeigt, wie Sie auf den in einer Textarea eingegebenen Inhalt mit Hilfe von JavaScript zugreifen können. Zunächst wird ein Formular definiert, in dem sich eine Textarea, sowie ein Button befindet. Der Button wird über das onClick-Event mit einem Event-Handler verbunden. Dies führt dazu, dass dieser Event-Handler automatisch ausgeführt wird, sobald der Benutzer auf den Button geklickt hat.

In der Folge wird eine JavaScript Funktion definiert, die den zuständigen Event-Handler repräsentiert. Diese Funktion trägt den Namen getValue und erhält als einzigen Parameter einen Verweis auf das Textarea-Element, dessen Inhalt ausgelesen und danach ausgegeben werden soll. Über ein If-Statement wird als nächstes abgefragt, ob die als Parameter angegebene Variable ein HTML-Element vom Typ Textarea enthält. Wenn dem so ist, kann mit der weiteren Verarbeitung fortgefahren werden.

Der Inhalt (Text) des Textarea-Feldes wird danach in einer Variablen gespeichert, wobei der Inhalt mittels Value-Eigenschaft der Textarea abgefragt und entsprechend zugewiesen wird. Ist das Feld leer, so wird dann eine entsprechende Meldung ausgegeben, die auf diese Tatsache hinweist. Anderenfalls wird der Inhalt über eine Alert-Box ausgegeben. Die Alert-Box ist eines der Dialogfenster, die durch das Window-Object aufgerufen werden können.

<form name="formular">
  <textarea name="feld"></textarea><br>
  <input type="button" onclick="getValue (document.formular.feld)" value="Inhalt auslesen" />
  <script language="javascript" type="text/javascript">
  <!-- // JavaScript-Bereich für ältere Browser auskommentieren
  // Die Funktion getValue gibt den in einer Textarea eingegebene
  // Zeichenkette in einer Alert-Box aus.
  function getValue (textarea) {
    // Angegebenes Element vom Typ texarea?
    if (textarea.type == 'textarea') {
      // Inhalt des Eingabefeldes
      var value = document.formular.feld.value;

      // Eingabefeld leer?
      if (value.length == 0)
        // Wenn ja, entsprechende Meldung ausgeben
        alert ('Texarea ist leer!');
      else
        // Ausgabe des in der Textarea gespeicherten Inhalts
        alert ('Inhalt des Feldes: ' + value);
    }
  }
  // -->
  </script>
</form>

JavaScript Input Cursor Beispiel 2: Textarea Cursor Position (Textcursor)

Bei Eingabeelementen, die zur Eingabe von Text dienen, kann die Position des Textcursors ebenfalls per JavaScript bestimmt werden. Hierzu kann wiederum das Document-Object verwendet werden, um auf das Formular und die darin enthaltenen Eingabeelemente zuzugreifen. Eben dies geschieht im unteren Script-Abschnitt, wo über die SelectionStart- und die SelectionEnd-Eigenschaft die aktuelle Position des Cursors abgefragt wird. Die auf diese Weise ermittelten Werte werden in der unten stehenden Funktion mit dem Namen wo_bin_ich in entsprechenden Variablen gespeichert. Der Aufruf der Funktion, welche dies bewerkstelligt, wird auch hier wieder mittels Event-Object realisiert.

Weiter unten werden die Informationen zur Ausgabe in einem String zusammengestellt. Dabei wird zunächst die Cursorposition und dann – soweit eine Selektion eines Textbereichs vorgenommen wurde – der selektierte Text und die Indexpositionen von SelectionStart und SelectionEnd an das Ausgabestring angehängt. Am Ende der Funktion werden die so gesammelten Daten in einer Alert-Box ausgegeben.

<form name="formular2">
  <textarea name="feld">Hier steht was drin!</textarea><br>
  <input type="button" onclick="wo_bin_ich ()" value="Wo bin ich?" />
  <script language="javascript" type="text/javascript">
  <!-- // JavaScript-Bereich für ältere Browser auskommentieren
  // Folgende Funktion ermittelt die derzeitige Position des
  // Textcursors in einer Textarea und gibt diese, zusammen mit
  // dem evtl. selektierten Text in einer Dialog-Box aus.
  function wo_bin_ich () {
    // Variable zur Speicherung eines Ausgabetextes
    var selectionInfo = '';
    // Index der Startposition
    var start = document.formular2.feld.selectionStart;
    // Endposition der Selektion
    var end = document.formular2.feld.selectionEnd;
    // Inhalt des Eingabefeldes
    var value = document.formular2.feld.value;

    // Position des Cursors im Eingabefeld soll ausgegeben werden
    selectionInfo += 'Cursorposition: ' + start;
    // Wenn Start- und End-Index der Selektion unterschiedlich
    // sind, dann hat der Benutzer einen Textbereich ausgewählt
    if (start != end)
      // In diesem Falle soll auch die selektierte Zeichenkette
      // ausgegeben werden.
      selectionInfo += '\nZeichen selektiert: ' + value.substring (start, end) +
           ' (Index ' + start + ' bis ' + end + ')';
    document.formular2.feld.focus ();

    // Ausgabe der ermittelten Informationen in einer Aler-Box
    alert (selectionInfo);
  }
  // -->
  </script>
</form>

Letzte Posts aus unserem Forum

Probleme mit iphone

Hallo, ich habe ein Problem bei der Darstellung einer Webseite. In allen Browsern hat das bisher bestens funktioniert außer beim iPhone und iPad, wo ... » mehr

von Finlay am Dienstag, 10. Juli 2012 19:45 in JavaScript - noch nicht beantwortet

Stream musik

Hallo, ich bin auf der Suche nach einem Script, mit dem ich einen Leser für Audio-Spuren in eine Html-Webseite einfügen kann. Ich brauche dabei ... » mehr

von Finlay am Sonntag, 22. Januar 2012 22:52 in JavaScript - bisher 2 Antworten
Letzter Beitrag: Dienstag, 8. Mai 2012 16:04 von maharadja

ich habe das mal mit jplayer probiert und bei mir gings ... » mehr

Byte Array PDF im Browser anzeigen

Hallo, ich bekomme von einem Webservice ein PDF als Byte Array. Mit einem JsonP Request habe ich das Byte Array so wie es ist (als Array von Bytes) ... » mehr

von TiloS am Mittwoch, 11. April 2012 17:37 in JavaScript - noch nicht beantwortet

Überbelnd effect in javascript gallerie

ich habe hier einie gallerie die funktioniert problem los aber hat noch kein über belnd effect jedoch würde ich diesen gerne einfügen aber ich habe ... » mehr

von faebe am Freitag, 20. Januar 2012 20:19 in JavaScript - noch nicht beantwortet

XML per JavaScript verarbeiten - IE

Hallo! Vielen Dank für das super kommentierte Script-Beispiel zur Weiterverarbeitung von XML-Dateien per JavaScript: ... » mehr

von gn0me am Freitag, 11. März 2011 19:03 in JavaScript - noch nicht beantwortet


¬ Insolvenzrecht