Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML] textare
Forum PHP.pl > Forum > Przedszkole
krzysztof_kf
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
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
Chodzi mi głównie żeby nie można było rozszerzyć pola textarea nie więcej niż przy ustalonej szerokości stałej .
nospor
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
  1. <style type="text/css" />
  2. #contact_form {
  3. width: 550px;
  4. height: 300px;
  5. background: #000000;
  6. }
  7.  
  8. #contact_form textarea {
  9. width: 550px;
  10. height: 100px;
  11. padding: 4px 2px 2px 4px;
  12. font-family: Verdana, Arial, "Times New Roman";
  13. display: block;
  14. float: left;
  15. }
  16.  
  17.  
  18. <div id="contact_form">
  19. <form method="post" action="assets/php/send.php" id="contactForm">
  20. <textarea id="message" name="message">
  21. </form>
  22. </div>
nospor
lib js.... żeby rozszerzać textarea dynamicznie musisz używać do tego jakiegoś liba js....
strife
@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
Nie ustawiaj wysokości i szerokości w CSS tylko ustaw bezpośrednio na komendzie
nospor
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
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
@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
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
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
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
Najprostsze z możliwych rozwiązań w css
  1. textarea {
  2. width: 200px !important;
  3.  
  4. }

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
@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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.