kostenloser Webspace werbefrei: lima-city


[Textarea] Scrollbar verhindern + Nur 1 Startzeile

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    limabone

    Kostenloser Webspace von limabone

    limabone hat kostenlosen Webspace.

    Hallo,
    ich habs bereits geschafft mit
    <textarea name="message" rows="0" cols="65" onfocus="if(this.value=='Was machst du gerade? Teile es mit!'){this.value='';}" onblur="if(this.value==''){this.value='Was machst du gerade? Teile es mit!';}">Was machst du gerade? Teile es mit!</textarea>
    den Wert beim Daraufklicken und beim verlassen der Textarea zu verändern.
    Nun habe ich bei Facebook (Ja, ich bin auch auf Facebook :biggrin:) entdeckt, dass die Anfangszeile nur 1 Zeile wie bei einem Input-Feld ist, und beim daraufklicken die Zeilen auf 3 oder 2 gesetzt werden.
    Außerdem verändert sich die Textarea. Anstatt einer Scrollbar bei 4 Zeilen wird die Textarea einfach größer.

    Wie geht das??
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Keine Ahnung, ob es das ist, was du willst, aber ich habe da mal was gebastelt.
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    		<title></title>
    		<link rel="stylesheet" type="text/css" href="css/standard.css">
    		<script type="text/javascript">
    			<!--
    			var valHeight = 1;
    			function eKeyDown(event, element){
    				if(event.keyCode==13){
    					valHeight++;
    					element.style.height = valHeight * 15 + "px";
    				}
    			}
    			//-->
    		</script>
    	</head>
    	<body>		
    		<textarea name="message" rows="0" cols="65" style="font-size:12px; height:14px;" onfocus="if(this.value=='Was machst du gerade? Teile es mit!'){this.value='';}" onblur="if(this.value==''){this.value='Was machst du gerade? Teile es mit!';}" onkeydown="eKeyDown(event, this);">Was machst du gerade? Teile es mit!</textarea>
    	</body>
    </html>
  4. ansonstig noch => http://aktuell.de.selfhtml.org/artikel/javascript/variable-textarea/#code

    Beispiel-Ansicht => http://aktuell.de.selfhtml.org/artikel/javascript/variable-textarea/beispiel.htm

    es gibt hier einiges zu beachten, wie z.B.:

    ... Außerdem muss dem Textfeld eine feste Zeichenanzahl (cols-Attribut, ebenso auch rows), eine dicktengleiche (nicht-proportionale) Schriftart (z.B. Courier) und eine feste Schriftgröße zugewiesen werden, da das Script, wie sich auch in den weiteren Kapiteln zeigen wird, immer eine feste Zeichenanzahl pro Zeile braucht. Bei Schriftarten wie Arial wäre dies unmöglich, da jedes Zeichen eine andere Breite hat und somit in jede Zeile, je nach Inhalt, unterschiedlich viele Zeichen passen - falls diese Voraussetzung nicht erfüllt werden, würde das hier dokumentierte Script nicht funktionieren.


    u.s.w. ... also am besten den Text der gesamten Seite http://aktuell.de.selfhtml.org/artikel/javascript/variable-textarea/ gut durchlesen ;)

    Beitrag zuletzt geändert: 20.4.2010 11:02:44 von abakus
  5. k*********s

    geht sowas nicht auch mit CSS ?
    zumindest der Teil: die <textarea> ohne Scrollbar automatisch vergrößern

    irgendwie ... bei overflow unten eine Zeile / weitere 26 Pixel anfügen (Höhe der textarea)

    oder keine Chance mit CSS ?
  6. Autor dieses Themas

    limabone

    Kostenloser Webspace von limabone

    limabone hat kostenlosen Webspace.

    nerdinator schrieb:
    Keine Ahnung, ob es das ist, was du willst, aber ich habe da mal was gebastelt.
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    		<title></title>
    		<link rel="stylesheet" type="text/css" href="css/standard.css">
    		<script type="text/javascript">
    			<!--
    			var valHeight = 1;
    			function eKeyDown(event, element){
    				if(event.keyCode==13){
    					valHeight++;
    					element.style.height = valHeight * 15 + "px";
    				}
    			}
    			//-->
    		</script>
    	</head>
    	<body>		
    		<textarea name="message" rows="0" cols="65" style="font-size:12px; height:14px;" onfocus="if(this.value=='Was machst du gerade? Teile es mit!'){this.value='';}" onblur="if(this.value==''){this.value='Was machst du gerade? Teile es mit!';}" onkeydown="eKeyDown(event, this);">Was machst du gerade? Teile es mit!</textarea>
    	</body>
    </html>


    Wow ich bin begeistert!
    Danke dir von ganzem Herzen, 100% genau das was ich gesucht habe! Und es funktioniert!
    abakus schrieb: ansonstig noch => http://aktuell.de.selfhtml.org/artikel/javascript/variable-textarea/#code

    Beispiel-Ansicht => http://aktuell.de.selfhtml.org/artikel/javascript/variable-textarea/beispiel.htm

    Das funktioniert auch, aber die textarea fängt mit 2 Zeilen an, trotzdem dank für die Mühe, ich selbst hab nichts gefunden :D
    kontogratis schrieb: geht sowas nicht auch mit CSS ?
    zumindest der Teil: die <textarea> ohne Scrollbar automatisch vergrößern

    irgendwie ... bei overflow unten eine Zeile / weitere 26 Pixel anfügen (Höhe der textarea)

    oder keine Chance mit CSS ?

    Bin zwar keine JS-Experte, aber ich glaube nicht.
    Javascript ist eine Clientseitige-Sprache, damit kann es für jeden anders dargestellt werden. Mit CSS ist es für alle Benutzer gleich, weil es eine Serverseitige Sprache ist, die nicht auf deinen PC, sondern auf den HTML-Code zugreift.

    Beitrag zuletzt geändert: 20.4.2010 16:41:17 von limabone

  7. Bin zwar keine JS-Experte, aber ich glaube nicht.
    Javascript ist eine Clientseitige-Sprache, damit kann es für jeden anders dargestellt werden. Mit CSS ist es für alle Benutzer gleich, weil es eine Serverseitige Sprache ist, die nicht auf deinen PC, sondern auf den HTML-Code zugreift.


    Naja, ganz so ist es nicht richtig. JavaScript (JS) ist eine Clientseitige Programmiersprache. CSS (=Cascading Style Sheets) und HTML(Hypertext Markup Language) sind keine Programmiersprachen, sondern geben nur das Aussehen an. (M = Markup).
    Eine Serverseitige Programmiersprache ist z.B. PHP
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!