krzysztof_kf
6.02.2012, 13:06:29
Witam zawsze się zastanawiałem jak doprowadzić input
textarea do prządku przedstawie swój problem na obrazku

No właśnie, chodzi głównie żeby można rozciągać
textarea tylko na szerokość formularza kiedyś mi się udało to zobić ale teraz niestety nie wychodzi może ktoś podsunie jakiś pomysł.
Pozdrawiam
unreal
6.02.2012, 13:12:25
Dodajesz do znacznika textarea komende cols="wartość".
ma to wyglądać przykładowo tak:
Kod
<textarea cols="50" rows="10" name=""></textarea>
Przy czym rows oznacza wysokość textarea
krzysztof_kf
6.02.2012, 13:21:46
Chodzi mi głównie żeby nie można było rozszerzyć pola textarea nie więcej niż przy ustalonej szerokości stałej .
nospor
6.02.2012, 13:25:02
No to określ tę szerokośc.... myślisz, że wiemy jakiego liba js używasz do tego textarea? Nie, nie wiemy, szklana kula nam wszystkim się zbiła :/
krzysztof_kf
6.02.2012, 13:30:15
<style type="text/css" /> #contact_form {
width: 550px;
height: 300px;
background: #000000;
}
#contact_form textarea {
width: 550px;
height: 100px;
padding: 4px 2px 2px 4px;
font-family: Verdana, Arial, "Times New Roman";
display: block;
float: left;
}
<form method="post" action="assets/php/send.php" id="contactForm">
nospor
6.02.2012, 13:31:14
lib js.... żeby rozszerzać textarea dynamicznie musisz używać do tego jakiegoś liba js....
strife
6.02.2012, 13:35:33
@nospor - niekoniecznie, aby rozszerzać textarea potrzeba jakiegoś liba js z tego co się orientuje. Współczesne przeglądarki umożliwiają rozszerzanie texarea bez żadnych bibliotek.
I tutaj zaczyna się problem, ponieważ jeżeli coś jest zależne od przeglądarki to musisz obsłużyć przypadki dla wielu. Wiem, że w firefoxie (i pewnie w chromie też), można wyłączyć możliwość rozciągania textarea, wtedy mógłbyś obsłużyć to jakąś biblioteką javascript'ową.
np.
http://support.mozilla.org/en-US/questions/790812
unreal
6.02.2012, 13:37:00
Nie ustawiaj wysokości i szerokości w CSS tylko ustaw bezpośrednio na komendzie
nospor
6.02.2012, 13:37:25
No to jeśli on to rozszerza przy pomocy przeglądarki a nie wlasnego libu js nad którym ma kontrolę, no na grzyba się w ogole przejmować? Jak ktoś ma ochotę rozszerzać sobie przeglądarką mój formularz to jego sprawa. Jak chce uzywac zooma - jego sprawa. Jak chce cos jeszcze - też jego sprawa.
unreal
6.02.2012, 13:41:02
Cytat(nospor @ 6.02.2012, 13:37:25 )

No to jeśli on to rozszerza przy pomocy przeglądarki a nie wlasnego libu js nad którym ma kontrolę, no na grzyba się w ogole przejmować? Jak ktoś ma ochotę rozszerzać sobie przeglądarką mój formularz to jego sprawa. Jak chce uzywac zooma - jego sprawa. Jak chce cos jeszcze - też jego sprawa.
Ja mam tak ustawione textarea, że jak wpisuje tekst to normalnie zostaje przy ustawionych rozmiarach, chyba że rozciągnę za pomocą chwytaka po prawej stronie w dolnym rogu.
strife
6.02.2012, 13:44:27
@nospor - Dokładnie się z Tobą zgadzam.
Nie mniej jednak, rozszerzanie przez użytkownika textarea jest o tyle czasami kłopotliwe, że potrafi naruszyć layout, albo sam wygląd textarea (jeżeli mamy tło i sztywne wymiary). Masz do wyboru albo to olać jak napisał nospor albo próbować to kontrolować. Moja opinia jest taka, że jeżeli ktoś chce kombinować sobie rozszerzać i tym samym naruszać layout to już jego sprawa (aczkolwiek kiedyś miałem to przez klienta zgłoszone jako wielki BUG, heh i musiałem wyłączyć resize).
Pzdr.
nospor
6.02.2012, 13:45:15
Cytat
chyba że rozciągnę za pomocą chwytaka po prawej stronie w dolnym rogu.
Toć kumam.... i oto mi chodzi. Niech sobie ustawi domyślnie a jak ktoś chce przesuwać, bo mu przeglądarka pozwala, to nie ma co się takim kimś przejmować.
No chyba, że korzysta z liba js. No ale wówczas zdrowy rozsądek by podpowiadał, że należy nam podać jaki to lib js.
unreal
6.02.2012, 13:50:20
Odpowiednio wstawione nie zniszczy szablonu przy 'zabawie' textareą
EDIT:
Odkryłem, jak zablokować pole:(przykładowo)
Kod
<textarea style="overflow:hidden;" cols="50" rows="10" name=""></textarea>
jackal777
6.02.2012, 17:51:19
Aby uzyskać ładny nierozciągający się textarea trzeba:
<div class="kontener">
<textarea cols="5000" rows="5000" name="strutututu">Przykładowy text</texarea>
</div>
.kontener (display:block; overflow:hidden; width:200px; height:100px;}
.kontener > textarea {display block, overflow:hidden;}
Masz idealny textarea który jest większy (5000 wierszy i kolumn) od otaczającego go kontenera a tym samym chwytak do rozciągania znika poza pole kontenera które ma overflow:hidden.
Rozwiązanie na poziomie htmla i css, nie wiem jak z JS etc.
lobopol
6.02.2012, 20:18:00
Najprostsze z możliwych rozwiązań w css
textarea {
width: 200px !important;
}
działa na rozciąganie textarea przez js jak i przeglądarkę (chyba, że rozciąganie przez js dodaje również width: x !important)
krzysztof_kf
6.02.2012, 22:16:30
@lobopol i o to chodziło mi dzięki pozdrawiam.
również dzięki @strife
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.