Hi zusammen,
ich bin gerade am lernen für eine Prüfung und habe ein großes Problem mit DOM-Scripting. Meine Frage hat eigentlich "Kindergartenniveau" und dürfte für die meißten hier kein Problem sein, ich bin allerdings totaler Anfänger und komme einfach nich zurecht damit. Die Aufgabe lautet:
Gegeben sei das folgende Formular zur Eingabe einer Kurznachricht (SMS). Während der Eingabe sollen in dem einzeiligen Texteingabefeld die noch verbleibenden Zeichen (maximal 160 sind erlaubt)
angezeigt werden.
<form action="" style="width: 300px;">
<p>Kurznachricht:<br />
<textarea name="sms text" rows="4" cols="30" onchange="sms()"
onkeydown="sms()" onkeyup="sms()"></textarea><br />
Verbleibende Zeichen: <input name="chars left" value="160"
type="text" size="3" maxlength="3" readonly="readonly" /></p>
</form>
Definieren Sie die JavaScript Funktion sms() und beachten Sie hierbei die folgenden Hinweise:
1. Definieren Sie innerhalb der Funktion eine lokale Variable input und weisen Sie dieser
Variable den vom Benutzer eingegebenen Text der Kurznachricht zu.
2. Machen Sie innerhalb der Funktion eine Fallunterscheidung. Wenn der Text länger als 160
Zeichen ist, dann soll der Rest abgeschnitten und in das einzeilige Eingabefeld eine Null
geschrieben werden. Andernfalls soll die Anzahl der noch verbleibenden Zeichen berechnet
und der entsprechende Wert in dem einzeiligen Textfeld aktualisiert werden.
3. Die Länge eines Strings (Anzahl der Zeichen) erhält man über die Eigenschaft length.
4. Verwenden Sie die Funktion substr(), um von einem String eine Teilzeichenkette zu extrahieren. Die Funktion gibt die extrahierte Zeichenkette zurück und erwartet zwei Parameter: Die Position des ersten zu extrahierenden Zeichens in der Zeichenkette, wobei bei 0 zu zählen begonnen wird (Anfangsindex) und die Position des ersten nicht mehr zu
extrahierenden Zeichens in der Zeichenkette (Endindex).
Für den Zugriff auf die Formularelemente sollen DOM-Methoden verwendet werden. Es ist vielleicht viel Text, aber die Aufgabe ansich dürfte für Könner sehr schnell gelöst sein und auch nur wenige Zeilen Code lang sein. Vielleicht kann mir da ja jemand weiter helfen.
Vielen Dank schon mal