Inhalt einer Textarea auslesen
Dieter Raber
- javascript
Hallo,
Ich habe hier ein kleines Problem mit einer Textarea:
<textarea name="prodname" onkeypress="adjustSize(this)">Nom du produit</textarea>
die Funktion geht so:
function adjustSize(sender) {
alert(sender.innerHTML)
var nlArr = sender.innerHTML.match(/\x0A/g); //ich hatte hier auch schon \n
if(nlArr) {
alert(nlArr.length);
}
}
Mein Problem ist, dass das erste alert() immer 'Nom du produit' ausgibt, d.h. meine Eingaben nicht beruecksichtigt werden
Im Endeffekt will ich wissen, wieviele harte Zeilenumbrueche mein Text enthaelt, villeicht geht das ja auch eleganter.
Gruß,
Dieter
Ich grüsse den Cosmos,
alert(sender.innerHTML)
IMO sollte das alert(sender.value) heissen. Ob es dein Problem löst kann ich nicht sagen.
Möge das "Self" mit euch sein
Moin
um den Inhalt des textarea anzusprechen nutze sender.value
Gruß
rfb
Hallo Dieter.
Hallo,
Ich habe hier ein kleines Problem mit einer Textarea:
<textarea name="prodname" onkeypress="adjustSize(this)">Nom du produit</textarea>
die Funktion geht so:
function adjustSize(sender) {
alert(sender.innerHTML)
var nlArr = sender.innerHTML.match(/\x0A/g); //ich hatte hier auch schon \n
if(nlArr) {
alert(nlArr.length);
}
}
Warum arbeitest du innerhalb einer Textarea mit innerHTML, wo doch darin sowieso kein HTML enthalten sein kann?
> Mein Problem ist, dass das erste alert() immer 'Nom du produit' ausgibt, d.h. meine Eingaben nicht beruecksichtigt werden
Offenbar wird innerHTML nicht aktualisiert, warum auch immer.
> Im Endeffekt will ich wissen, wieviele harte Zeilenumbrueche mein Text enthaelt, villeicht geht das ja auch eleganter.
Mein Vorschlag:
~~~javascript
function adjustSize(sender) {
var count = -1, pos = -1;
do {
++count;
pos = sender.value.indexOf('\n', pos);
} while (pos++ != -1);
alert(count);
}
Einen schönen Freitag noch.
Gruß, Mathias
Hallo,
Danke fuer alle Antworten, sender.value loest das Problem. Haette ich ja auch selbst mal draufkommen koennen...
Gruß,
Dieter