Autor | Zpráva | ||
---|---|---|---|
Fnesveda Profil |
#1 · Zasláno: 27. 12. 2007, 17:16:41
Rád bych vytvořil textarea, které by měnilo výšku podle obsahu. Mám v php vytvořený redakční systém, který mi ze souboru načítá obsah textarea, a nechci mít u textarea posuvníky, ale nechci ho mít moc velké a polovinu prázdnou. Šlo by to zapsat jen pomocí CSS a html nebo bude potřeba použít javascript? Příklady uvítám:)
|
||
Railbot Profil |
#2 · Zasláno: 27. 12. 2007, 17:19:26
height: 100% ?
|
||
Fnesveda Profil |
#3 · Zasláno: 27. 12. 2007, 18:47:31
Height: 100% nefunguje, zobrazí se to vysoké tři řádky
|
||
Str4wberry Profil |
#4 · Zasláno: 27. 12. 2007, 18:54:44
Šlo by také spočítat řádky. A podle jejich počtu odhadovat výšku textarea.
|
||
Jan Tvrdík Profil |
#5 · Zasláno: 27. 12. 2007, 19:16:06
Str4wberry
By mě zajímalo, jak se dají spočítat řádky. Fakt mě nanapadá algoritmus, kterým by to bylo možné :) Nechám se překvapit, co z toho bude. Jinak, když znáš počet řádků, tak výšku neodhaduješ, ale nastavíš atribut rows na počet řádků. |
||
Fnesveda Profil |
#6 · Zasláno: 27. 12. 2007, 20:11:59 · Upravil/a: Fnesveda
Řádky by možná šly spočítat přes počet výskytů řetězce "konec řádku" v textu, který do textarea vkládám... Zkusím to
|
||
Fnesveda Profil |
#7 · Zasláno: 27. 12. 2007, 22:27:12
Mám to:
$rows = substr_count($text, "\n")+1; . . . <textarea name="text" rows=<?php echo $rows; ?> wrap="off"><?php echo $text; ?></textarea> do $rows se ukládá počet řádků a v $text je obsah textarea Díky moc za pomoc |
||
Timy Profil |
#8 · Zasláno: 27. 12. 2007, 22:32:13
Fnesveda
A co když bude jeden řádek v $text na více řádků v textarea? Nejpřesnější by asi bylo počítat znaky (v textarea je obvykle nějaký courier se stejně dlouhými znaky, tedy se stejným počtem znaků na řádek) v kombinaci s koncem řádku. |
||
Jan Tvrdík Profil |
#9 · Zasláno: 27. 12. 2007, 22:50:26
Timy
V textaree je proporciální písmo (aspoň u mě v opeře), takže přes počet znaků by to bylo hodně nepřesné, to už je lepší počítat zalomení řádku. Ideální by bylo, kdyby nějaký JavaScriptový mág vymyslel, jak na to přesně - například zjistit, zda je zobrazen posuvník a pokud ano, tak zvětšovat o 1 řádek, dokud nezmizí. Já bych to řešil počtem zalomení + projít délky řádků a pokud by přesáhly určitou hodnotu, tak ho počítat za 2 (3,4...) řádky. Výsledek by byl samozřejmě pouze odhad, ale lepší než nic. |
||
Str4wberry Profil |
#10 · Zasláno: 27. 12. 2007, 22:54:23
„V textaree je proporciální písmo (aspoň u mě v opeře)“
To si můžeš změnit/nastavit pomocí CSS. |
||
Jan Tvrdík Profil |
#11 · Zasláno: 27. 12. 2007, 23:16:14
Str4wberry
Hm, to mě nenapadlo :D |
||
Fnesveda Profil |
#12 · Zasláno: 28. 12. 2007, 12:34:16
Se zalamováním řádků není problém, proto je tam wrap="off", aby se zobrazil vodorovný posuvník. Takže opravdu stačí spočítat jenom počet zalomení... Ale jestli nějaký JavaScriptový mág vymyslí, jak to udělat, aby se mi textarea zvětšovalo nebo zmenšovalo, pokud připíšu řádku až po načtení, budu mu vděčný(že to je dobrá odměna, co?;))
|
||
Časová prodleva: 16 let
|
0