Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Textarea i ilość znaków - blokada backspace
Forum PHP.pl > Forum > Przedszkole
necro66
Witam,
Mam krótki formularz i chciałem ograniczyć ilość znaków wpisywanych w pola. Ze zwykłym inputem sobie poradziłem za pomocą maxlength, z textarea mam problem.
Ograniczanie ilości znaków co prawda działa, ale jeśli wpiszę max. ich liczbę w textarea nie da się już tego tekstu zmienić/usunąć (backspace nie działa).

Funkcja wygląda tak:
  1. <script language="javascript" type="text/javascript">
  2. <!--
  3. function imposeMaxLength(Object, MaxLen)
  4. {
  5. return (Object.value.length <= MaxLen);
  6. }
  7. -->
  8. </script>


Pole textarea wstawione w ten sposób:
  1. echo $form->input('Post.body',array('type'=>'textarea','onkeypress'=>'return imposeMaxLength(this, 10)','label'=>'Opis'));


Wie ktoś co jest nie tak z tym skryptem?
athei
Użyj tego
Kod
<script type="text/javascript">
function ismaxlength(obj)
{
    var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
    if (obj.getAttribute && obj.value.length>mlength)
        obj.value=obj.value.substring(0,mlength)
}
</script>
<textarea  maxlength="20" onkeyup="return ismaxlength(this)"></textarea>
necro66
Dieki athei, podziałało winksmiley.jpg

Mam jeszcze jedno pytanie, czy jest jakaś możliwość w textarea definiować np max ilość znaków w jednej linijce albo ograniczyć ilość linijek?
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.