Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML] textarea - jak ograniczyć ilość znaków?
Forum PHP.pl > Forum > Po stronie przeglądarki > HTML \ XHTML
code46
Mam problem. Chcę aby użytkownik mógł wpisać maksymalnie 255 znaków w to pole. Ale nie da się ograniczyć tak jak zwkłych pól. Dlaczego akurat tyle? W formularzu napisałem, że maksymalnie 255 znaków, ale użytkownik nie będzie tego liczyl. I napisze treść zlecenia, zapisze do bazy, nie sprawdzi tego i może się okazać, że z tego zlecenia w bazie jest tylko połowa - niezrozumiała dla pracownika...

Jak sobie z tym poradzić?
bregovic
Atrybut maxlength + walidacja danych?
code46
Cytat(bregovic @ 2005-05-11 21:59:54)
Atrybut maxlength

Nie działa...

Możnaby sprawdzić ilość znaków za pomocą phpa i ewentualnie zwrócić odpowiedni komunikat ale nie wiem jak sprawdzić ilość wpisanych znaków
Zajec
Cytat(code46 @ 2005-05-11 23:01:50)
Możnaby sprawdzić ilość znaków za pomocą phpa i ewentualnie zwrócić odpowiedni komunikat ale nie wiem jak sprawdzić ilość wpisanych znaków

Owszem, dobre. http://pl.php.net/manual/pl/function.strlen.php


Dodatkowo możesz użyć skryptu JS, aby Ci którzy go używają mieli udogodnienie i byli informowani na bieżąco :-)

1) Dajesz onchange dla <textarea />
2) W wywyołanej funkcji sprawdzasz długość tekstu wpisanego w textarea
3) Jeżeli jest za długi to pobierasz pierwsze 255 znaków z value textarea
4) Wklejasz pobrany ciąg znaków jako value textarea
nospor
czasami dobrze sprawdzić czy to juz nie bylo. A dokladnie pare dni wcześniej:
http://forum.php.pl/index.php?showtopic=30232
wallie
  1. <input name="textfield" type="text"
  2. value="" maxlength="32" />

snitch.gif
revyag
Cytat
  1. <input name="textfield" type="text"
  2. value="" maxlength="32" />

Z tematem to ma niewiele wspólnego, bo raz że chodzi tu o ograniczenie w textarea a nie w zwykłym inpucie, a dwa że textarea nie ma właściwości maxlength.
Jarod
Przepraszam, że powielam ale nie mogę sobie poradzić z tym problemem. Zastosowałem skrypt nospora i jeśli przekroczę 10 znaków to dostane komunkat, że przekroczyłem. Ale jeśli dodam w php sprawdzanie długości to wyglada to tak:

1. podaję 11 znaków
2. JS wywala komunikat ze przekroczylem dozwoloną ilość i skraca do 10
3. klikm zapisz
4. php wywala komunikat ze przekroczylem 10 znaków

Jak zrobić żeby php widział już poprawioną wersję??

Powyższy problem występuje jeśli w polu textarea używam entera przy wpisywaniu, żeby nie korzytsać z paska przewijania. Jeśli nie używam entera, tylko pisze wszystko jednym ciągiem to problemu nie ma. Próbowałem ustawiać parametr wrap="visual" ale to też nie pomaga
Pedros
To ja może inaczej.... czy textarea ogranicza samodzielnie długość wpisanego tekstu??
Z niewiadomych przyczyn podczas dodawania komentarzy o długości np. 2000znaków, komentarz nie dodaje mi się do bazy(gdy dodaję ten sam komentarz za bezpośrednio do bazy(a nie formularz html+php) działa bez problemów")
artur81
bo pewnie masz w formularzu metodę przesyłania GET, zmień na POST i powinno działać
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.