2011-08-08 19 views
9

Nie mogę ustawić maksymalnej długości dla pola tekstowego GWT. Czy ktoś mógłby mi pomóc osiągnąć to w GWT?Maksymalna długość dla GWT TextArea

TextArea t1 = new TextArea(); 
t1.setMaxLength(300); // This method doesn't exist. How do I do this? 
+0

Co to znaczy, że nie są w stanie ustalić długość max ? Jaki jest dokładnie problem, nie powiedziałeś wiele, z wyjątkiem tego, że masz problem. –

+0

Witam, chcę ograniczyć użytkownika, nie wprowadzać więcej niż 300 znaków, zajrzałem do api, nie ma metody, która może zrobić dla mnie. jak mogę to osiągnąć w gwt –

Odpowiedz

3

Jego przyczyna MaxLength jest cechą HTML5, więc to nie będzie działać w starszych przeglądarkach. Musisz zrobić to sam. Wystarczy dodać keyPresshandler i policzyć długość tekstu w obszarze tekstowym i wyciąć tekst, jeśli jest długi.

+0

Cześć, dziękuję za odpowiedź, ale kiedy kopiuję zawartość z pliku tekstowego (który ma więcej niż 300 znaków) i wklejasz w obszarze tekstowym, nawet tym razem również nie powinno na to pozwolić. pomóż mi to naprawić. –

+0

Czy testujesz, że nie działa z keyPressHandler. Po tym jak wszystkie 2 klawisze zostaną naciśnięte podczas kopiowania wklej. Ahh, ale nie, kiedy korzystasz z menu kontekstowego. Wygląda na to, że musisz użyć metody JSNI do samodzielnego zaimplementowania zdarzenia wklejania: http://www.quirksmode.org/dom/events/cutcopypaste.html –

+0

Użyłem wszystkich procedur obsługi, które faktycznie działają, ale nie, kiedy wycinam wklejanie. czy jest sposób, aby to zrobić. dzięki –

6

Można ustawić go jako takie: odpowiedź

t1.getElement().setAttribute("maxlength", "100"); 
14

Gal jest tuż przy jednym korekcji:

t1.getElement().setAttribute("maxlength", "100"); 

Drugi parametr jest ciągiem. To działało dla mnie.

+0

Czy to działa dla GWT 2.3? – Pith

+0

@pith tak to powinno działać .. –

+0

Przepraszam, powinienem usunąć swój komentarz. Mój problem polegał na tym, że używam komponentu GXT. – Pith

Powiązane problemy