Zur Boardunity Forenstartseite

Zurück   Boardunity & Video Forum » Technik » Programmierung und Datenbanken

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1  
Alt 02.12.2004, 22:18
Benutzerbild von LonelyPixel
UNB-Entwickler
 
Registriert seit: 01.2004
Ort: Erlangen
Beiträge: 974

Textbox dynamisch vergrößern?


Hi,
ich suche eine Möglichkeit, eine <textarea/> in HTML mit JavaScript dynamisch in der Höhe an den eingegebenen Text anzupassen, so wie es iChat scheinbar tut. (http://www.cs.kuleuven.ac.be/~remko/psi/tmp/ichat.mov)
Ein kurzer Überblick über das textarea-Objekt im Firefox-DOM-Inspector hat mich nicht weitergebracht. Ich hab gehofft, sowas wie die Höhe des aktuellen Inhalt zu finden. Kann mir da jemand weiterhelfen oder jemanden nennen, den ich mit sowas buggen kann?
__________________
Yves Goergen
Softwareentwicklung, Fotografie, Webhosting, UNB Components (in Arbeit)
  #2  
Alt 02.12.2004, 23:39
Benutzerbild von Nev
Nev Nev ist offline
Sven M. Maderbacher
 
Registriert seit: 10.2003
Ort: Österreich / Wien
Beiträge: 60
Hi LonelyPixel

So auf die schnelle fällt mir nix ein, da häng ich mit dem erreichen des Area-Seite.

Zumerweitern des Text-Areas, kannst du dieses Beispiel her nehmen:


<html>
<head>
<script>
<!--
function increaseNotesHeight(thisTextarea, add) {
if (thisTextarea) {
newHeight = parseInt(thisTextarea.style.height) + add;
thisTextarea.style.height = newHeight + "px";
}
if (document.getElementById('notes_height')) {
document.getElementById('notes_height').value = newHeight;
}
}

function decreaseNotesHeight(thisTextarea, subtract) {
if (thisTextarea) {
if ((parseInt(thisTextarea.style.height) - subtract) > 30) {
newHeight = parseInt(thisTextarea.style.height) - subtract;
thisTextarea.style.height = newHeight + "px";
}
else {
newHeight = 30;
thisTextarea.style.height = "30px";
}
}
if (document.getElementById('notes_height')) {
document.getElementById('notes_height').value = newHeight;
}
}
-->
</script>
</head>
<body>
<form name="adminForm">
<input type="button" onclick="increaseNotesHeight(document.adminForm.ta sk_notes, 50);" value="bigger" />
<input type="button" onclick="decreaseNotesHeight(document.adminForm.ta sk_notes, 50);" value="smaller" />
</nobr>
</p>
<textarea name="task_notes" id="task_notes" class="one_pixel_border" cols="40" style="height: 250px; width: 100%;" wrap="virtual">
</textarea>


</form>
</body>
</html>



Vielleicht fällt mir noch ne Lösung ein.

Halte uns bitte am Laufenden

__________________
Sven-Marcus Maderbacher
Cu l8er
Nev the XxX

Projekte:
www.Nev-Hilft.de die Seite für Coder
Master of www.Burnworld.de
  #3  
Alt 03.12.2004, 07:10
Benutzerbild von LonelyPixel
UNB-Entwickler
 
Registriert seit: 01.2004
Ort: Erlangen
Beiträge: 974
So, kann jetzt bitte endlich jemand diese besch***n Code-Blöcke entweder korrigieren oder ganz rauswerfen? Man kann _überhaupt nicht_ damit arbeiten, wenn man wegen jedem bisschen Scrollen inner- und außerhalb dieser blöden Box rumblättern muss, bloß dass der Scrollbalken erscheint!!! *grr*

Sorry, das war gegen die Admins.

Ja, so Buttons zum manuellen Ändern der Größe (soweit ich den Code lesen konnte) kann ich schon auch machen, sowas war auch mein ursprünglicher Plan. Aber eine automatische Anpassung wär halt schon viel cooler...

__________________
Yves Goergen
Softwareentwicklung, Fotografie, Webhosting, UNB Components (in Arbeit)
  #4  
Alt 03.12.2004, 10:43
Benutzerbild von Jan Stöver
Boardunity Team
 
Registriert seit: 12.2003
Ort: Lübeck
Beiträge: 2.326
Zitat:
So, kann jetzt bitte endlich jemand diese besch***n Code-Blöcke entweder korrigieren oder ganz rauswerfen? Man kann _überhaupt nicht_ damit arbeiten, wenn man wegen jedem bisschen Scrollen inner- und außerhalb dieser blöden Box rumblättern muss, bloß dass der Scrollbalken erscheint!!! *grr*

Sorry, das war gegen die Admins.
In dem Tonfall erwartest du Hilfe? Nicht wirklich oder .... naja wir haben ja bald Weihnachten ... also ehrlich ...

__________________
Jan Stöver
  #5  
Alt 03.12.2004, 11:33
Benutzerbild von Xenon
vBulletin.org Admin
 
Registriert seit: 09.2003
Ort: Bayern
Beiträge: 197
*gg* welche freundliche Art um hilfe zu ersuchen....

ich geb dir nen tip:
kopier das ganze in nen texteditor rein, wenn dir die codeboxen nicht gefallen, das sind nicht so viele taste, als das es wehtun würde...

__________________
Stefan Käser
Administrator von www.vbulletin.org

Das Publikum ist so einfältig, lieber das Neue als das Gute zu lesen.
Arthur Schopenhauer
  #6  
Alt 03.12.2004, 12:12
Benutzerbild von Fabchan
früher Dracaelius
 
Registriert seit: 10.2003
Ort: Seesen
Beiträge: 354
Ich würde dir empfehlen, einfach die Zeilenumbrüche innerhalb des Inhalts der <textarea> zu zählen und dann dementsprechend das HTMl-Attribut rows der Textarea anpassen, dabei muss es immer die Anzahl der Zeilenumbrüche + 1 sein, damit zu niemald null bekommst! Das funktioniert allerdings nur dann richtig, wenn du für die <textarea> das Attribut wrap="off" setzt.

Ein Beispiel, die sowas in PHP realisiert wurde, findest du hier:
http://kalender.infinite-server.de/i...&id=1064854576

__________________
Fabian Michael
"Ein Tag, an dem du nicht lächelst, ist ein verlorener Tag."
- Charlie Chaplin

Wiki
  #7  
Alt 03.12.2004, 12:55
Benutzerbild von LonelyPixel
UNB-Entwickler
 
Registriert seit: 01.2004
Ort: Erlangen
Beiträge: 974
Ich habe diesen Ton verwendet, da es bereits mind. eine Diskussion darüber gab. Scheinbar interessiert sowas aber niemanden. Schade. Naja, wenn ihr alle so toll damit zurecht kommt, werde ich mich natürlich der Mehrheit beugen.

Die nowrap-Lösung ist leider wenig praktikabel, da man dann ständig am Blättern wäre - nach rechts. Würdest du das gerne im Post-Editor eines Forums z.B. tun? Ich vermute, dass dafür irgendwie die innere Höhe des Textfelds ermittelt werden muss, konnte da aber nichts finden. Nunja, wenn's net geht, geht's net. Wär halt bloß ein cooles Feature gewesen...

__________________
Yves Goergen
Softwareentwicklung, Fotografie, Webhosting, UNB Components (in Arbeit)
  #8  
Alt 03.12.2004, 12:58
Boardunity Team
 
Registriert seit: 12.2001
Beiträge: 1.624
@LonelyPixel: die Codeboxen müssen ja nicht genutzt werden. Alternativ schreibt man den Code direkt in den Beitragstext und formatiert den Code (z.B. [COLOR=DarkRed][FONT=Courier New] ).

Ich habe den Beitrag von Nev zur Demonstration entsprechend angepasst.

  #9  
Alt 16.02.2005, 23:44
Benutzerbild von LonelyPixel
UNB-Entwickler
 
Registriert seit: 01.2004
Ort: Erlangen
Beiträge: 974
Oh, die letzte Antwort muss mir damals irgendwie entgangen sein. Ja, sowas wäre natürlich ne Idee, aber da muss jeder Nutzer mitspielen (und somit das code-Tag für nutzlos erklären; außerdem isses umständlicher) und leider kommen die meisten gängigen Foren offensichtlich nicht mit führenden Leerzeichen zurecht, sodass ein Einrücken wie im Code dann nicht angezeigt wird. Hm, taugt alles irgendwie nix... Gute Nacht...

Ich werd mit dem eigentlichen Problem mal bei mozillaZine nachfragen. Ich hab nämlich so das dumme Gefühl, dass das überhaupt nicht geht.

__________________
Yves Goergen
Softwareentwicklung, Fotografie, Webhosting, UNB Components (in Arbeit)
Antwort


Stichworte
-


Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
Gehe zu






1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25