Formularauswertung on-the-fly
SF2K
- javascript
0 MudGuard0 molily
0 Stefan Muenz0 bernd
0 wahsaga
Hallo,
habe in einem Formular 2 Textfelder, eines für einen Text und das andere für die Länge des Textes.
Während ich jetzt beginne in das Feld zu schreiben, soll gleichzeitig ermittelt werden wie lange der Text bereits ist und im ersten Textfeld gespeichert werden.
Hat jemand eine Idee, wie ich das lösen kann? Meine Variante funktioniert leider nicht :(
Danke für eure Hilfe!
-------------------
Source:
<script language="javascript">
function length() {
// ausgabe wieviel zeichen noch geschrieben werden können
rest = document.forms[0].text.length();
document.form.laenge.value = rest;
document.form.laenge.focus();
}
</script>
<form name="form" action="">
<input type="text" name="laenge" size="4">
<input type="text" name="text" value="text" onClick="javascript:length();" maxLength="200" size="50">
</form>
Hi,
<script language="javascript">
type-Attribut!
function length() {
Schlecht gewählter Name - length ist in Javascript schon als Funktion vorhanden, das könnte Konflikte geben.
rest = document.forms[0].text.length();
siehe z.B. hier - da verwendest Du ja length();
Und das auch noch fürs gleiche Objekt.
<input type="text" name="text" value="text" onClick="javascript:length();" maxLength="200" size="50">
javascript: ist überflüssig bis falsch.
cu,
Andreas
Hallo,
function length() {
Schlecht gewählter Name - length ist in Javascript schon als Funktion vorhanden, das könnte Konflikte geben.
window.length ist keine Funktion:
javascript:alert(window.length===window.frames.length);
javascript:alert(typeof(window.frames.length));
rest = document.forms[0].text.length();
siehe z.B. hier - da verwendest Du ja length();
Dort will er die Eigenschaft »length« des String-Objekts verwenden, also sind die Klammern »()« überflüssig.
http://de.selfhtml.org/javascript/objekte/frames.htm#length
http://de.selfhtml.org/javascript/objekte/string.htm#length
Mathias
Hallo SF2K,
habe in einem Formular 2 Textfelder, eines für einen Text und das andere für die Länge des Textes.
Während ich jetzt beginne in das Feld zu schreiben, soll gleichzeitig ermittelt werden wie lange der Text bereits ist und im ersten Textfeld gespeichert werden.
Im SELFHTML-Beispiel zum Event-Handler onKeydown wird genau so was behandelt: http://de.selfhtml.org/javascript/sprache/eventhandler.htm#onkeydown
viele Gruesse
Stefan Muenz
Hallo,
möchte hier nur anmerken, dass es ein schlechtes Beispiel ist.
Wenn ich eine Pfeiltaste drücke, dann habe ich nach deiner Berechnung schon ein Zeichen eingegeben. Dieses "length + 1" ist im Zusammenhang mit onKeyDown wirklich schlecht gewählt.
bernd
Hallo Bernd,
Wenn ich eine Pfeiltaste drücke, dann habe ich nach deiner Berechnung schon ein Zeichen eingegeben. Dieses "length + 1" ist im Zusammenhang mit onKeyDown wirklich schlecht gewählt.
Es ist ja auch nur ein Beispiel nach dem Motto "hier das Prinzip". Und du wirst zugeben, dass es wenig Sinn hat, bei einem Beispiel zum Event-Handler onKeyDown ein Beispiel zu bringen, dass mit lauter if's versucht, eingegebene Zeichen bis ins Detail zu kontrollieren. Das ist eben die Praxis-Mehrleistung, die User selber erbringen muessen. Silbertabletts gibts hier nun mal keine ;-)
viele Gruesse
Stefan Muenz
hi,
Meine Variante funktioniert leider nicht :(
gruß,
wahsaga