Hi,
auf der Suche, ein Textfeld an der Größe des Inhaltes anzupassen, bin ich unter
Gre eines Textfeldes an dessen Inhalt anpassen
auf einen interessanten script gestoßen. Diesen habe ich nun leicht abgeändert und er funktioniert auch soweit. Leider gibt es zwei Einschränkungen, die ich als Laie nicht hinbekomme:
1. Das Textfeld erweitert sich teilweise erst um eine weitere Zeile, wenn schon einige Wörter in dieser geschrieben wurden. Es sollte sich jedoch schon beim ersten Wort in einer Zeile erweitern.
2. Wie könnte ich diese Funktion auch in ein zweites oder drittes Textfeld einfügen?
Könnt Ihr mir helfen? Ich wäre für Eure Hilfe sehr dankbar :icon6:
auf der Suche, ein Textfeld an der Größe des Inhaltes anzupassen, bin ich unter
Gre eines Textfeldes an dessen Inhalt anpassen
auf einen interessanten script gestoßen. Diesen habe ich nun leicht abgeändert und er funktioniert auch soweit. Leider gibt es zwei Einschränkungen, die ich als Laie nicht hinbekomme:
1. Das Textfeld erweitert sich teilweise erst um eine weitere Zeile, wenn schon einige Wörter in dieser geschrieben wurden. Es sollte sich jedoch schon beim ersten Wort in einer Zeile erweitern.
2. Wie könnte ich diese Funktion auch in ein zweites oder drittes Textfeld einfügen?
Könnt Ihr mir helfen? Ich wäre für Eure Hilfe sehr dankbar :icon6:
HTML:
<html>
<head>
<script type="text/javascript">
function addZeile(eingabe) {
var Inhalt = eingabe.value;
var geteilt = Inhalt.split('\n');
var Abstand = 0;
var altPos = -1;
for(var Zaehler = 0; Zaehler < geteilt.length; Zaehler++) {
var Position = geteilt[Zaehler].search(/ |-/);
while(Position != altPos) {
if(parseInt(Position / eingabe.cols) != parseInt(altPos / eingabe.cols))
Abstand += Math.abs(altPos%eingabe.cols - (eingabe.cols-1));
altPos = Position;
Position++;
Position = geteilt[Zaehler].slice(Position).search(/ |-/)+Position;
}
Abstand += Math.abs((geteilt[Zaehler].length-1) % eingabe.cols - eingabe.cols) + geteilt[Zaehler].length-1;
}
Abstand = Abstand / eingabe.cols * 20 + 29;
if(Abstand > 200)
Abstand = 200;
eingabe.style.height = Abstand+'px';
}
</script>
</head>
<body onload="addZeile(document.getElementById('eingabe'))">
<form action="">
<textarea id="eingabe" onkeydown="setTimeout('addZeile(document.getElementById(\'eingabe\'))',10)"
style="font-size:10pt; font-family:monospace;" cols="120" rows="2">Ihr Text</textarea>
</form>
</body>
</html>