![]() |
| | Themen-Optionen |
| | Nach oben #1 |
| Benutzer Registriert seit: 07.11.2005
Beiträge: 31
|
Hallo Liebe Community, obwohl ich schon bei mehreren großen Seiten gesucht, und auch Google befragt habe, bin ich noch immer ohne wirkliches Ergebniss hier gelandet. Problem Ich habe eine Textarea. Dort habe ich via style die höhe angegeben. Diese ermittel ich aus dem gegebenen Text (area passt sich an text an). Das passiert aber nur beim Laden. Nun will ich erreichen, das wenn ich eine Leerzeile ([ENTER]) eingebe, die Textbox um das entsprechende wächst. Folgendes habe ich: Code: var mh = 0;
function do_n ( textarea, hei )
{
if ( mh == "0" )
{
mh = hei;
}
if ( text.value.charAt(length) == "\n" )
{
mh = mh + 16;
text.style="height: "+mh+"px";
}
}
Wäre nett, wenn mir jemand sagen könnte, wo ich Infos zu meinem Problem finde, oder wie es zu lösen ist. danke
__________________ „Oft denk’ ich an den Tod, den herben, Und wie am End’ ich's ausmach?! Ganz sanft im Schlafe möcht ich sterben Und tot sein, wenn ich aufwach!“ Carl Spitzweg |
| | |
| | Nach oben #2 |
| Benutzer Registriert seit: 07.11.2005
Beiträge: 31
|
So, habe selber ne Lösung gefunden: Code: var tmpl = 0;
function make_bigger (textarea)
{
var length = textarea.value.length - 1;
var was = event.keyCode;
tmpl = tmpl + 1;
if ( tmpl == "90" )
{
textarea.rows=textarea.rows + 1;
tmpl = 0;
}
if (was == 13)
{
textarea.rows=textarea.rows + 1;
}
}
__________________ „Oft denk’ ich an den Tod, den herben, Und wie am End’ ich's ausmach?! Ganz sanft im Schlafe möcht ich sterben Und tot sein, wenn ich aufwach!“ Carl Spitzweg |
| | |
| | Nach oben #3 |
| Lutz Registriert seit: 14.08.2005 Ort: Nienburg / Weser
Beiträge: 684
|
Ich würde es etwas einfacher machen und den bestehenden Text kontrollieren, denn was machst du, wenn der mit Backspace oder Entf oder einfach nur markiert nen Newline überschreibt? Code: <html>
<head>
<title>Test - JS - Textarea passt sich der Textgröße an</title>
<script type="text/javascript">
<!--
function chg_test (ta)
{
var txt = ta.value;
txt = txt.split ("\r\n");
ta.rows = txt.length;
var len = 0;
for (var i = 0;
i < txt.length;
i++)
{
len = ((txt[i].length > len) ? txt[i].length : len);
}
ta.cols = len;
}
//-->
</script>
</head>
<body>
<form name="frm_test">
<textarea name="ta_test" rows="5" cols="20" onKeyup="chg_test (this);"></textarea>
</form>
</body>
</html>
__________________ Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll |
| | |
| | Nach oben #4 |
| Benutzer Registriert seit: 07.11.2005
Beiträge: 31
|
Danke dafür. Es war zuerst auch meine Idee, zu zählen wieviele \n vorhanden sind. Aber ich hatte doie funktion split nicht gefunden. Damit deine Funktion unter FireFox Funktioniert, musst du \r entfernen. Also ich verwende jetzt deine Variatation. Danke !!!
__________________ „Oft denk’ ich an den Tod, den herben, Und wie am End’ ich's ausmach?! Ganz sanft im Schlafe möcht ich sterben Und tot sein, wenn ich aufwach!“ Carl Spitzweg |
| | |
| | Nach oben #5 |
| Lutz Registriert seit: 14.08.2005 Ort: Nienburg / Weser
Beiträge: 684
|
Kein Thema, wie gesagt, wie die Browser das mit den Newlines handhaben weiß ich nicht, mag sein, dass es manche nur mit nem \n (Newline) machen und manche mit nem \r (Carrierreturn) UND einem \n... Viel Spaß mit der Funktion ^^
__________________ Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |