2011-08-08 31 views
9

GWT TextArea için maksimum uzunluğu ayarlayamıyorum. Birisi bunu GWT'de başarmamı sağlayabilir mi?GWT TextArea için Maxlength

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

Ne demek sen maksimum uzunluğunu ayarlamak mümkün değildir ? Problemin tam olarak ne olduğu, bir problem yaşamanız dışında çok şey söylemediniz. –

+0

Merhaba, kullanıcının 300'den fazla karakter girmesini kısıtlamak istiyorum, api'ye baktım, benim için yapabileceğim bir yöntem yok. Nasıl gwt –

cevap

3

Onun nedeni maxLength bir html5 özelliğidir, bu yüzden eski tarayıcıları işe yaramaz. Kendin yapmak zorundasın. Sadece bir keyPresshandler ekleyin ve textarea'daki metnin uzunluğunu sayın ve uzunsa metni kesin.

+0

içinde bunu başarabilirim Merhaba, cevabınız için teşekkürler, ancak (300'den fazla karaktere sahip) kelime dosyasından içerik kopyalayıp metin alanına yapıştırdığımda, bu sefer bile izin verilmemelidir. lütfen bunu düzeltmeme yardım et. –

+0

KeyPressHandler ile çalışmadığını test ettiniz mi? Kopyalama yapıştırmada 2 tuşa basıldıktan sonra. Ahh ama bağlam menüsünü kullandığınızda değil. Yapıştırıcı etkinliğini kendiniz uygulamak için bir JSNI yöntemi kullanmanız gerektiğine inanıyor: http://www.quirksmode.org/dom/events/cutcopypaste.html –

+0

Kopyala yapıştırmayı yaptığımda değil, aslında tüm işleyicileri kullandım. Bunu yapmak için bir yolu var. teşekkürler –

6

Aşağıdaki gibi ayarlayabilirsiniz:

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

Gal cevabı doğru sadece bir düzeltme ile geçerli:

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

ikinci parametre bir dizedir. Bu benim için çalıştı.

HTML5 desteklemeyen tarayıcılar için
+0

Bu GWT 2.3 için çalışıyor mu? – Pith

+0

@pith yes çalışması gerekir .. –

+0

Üzgünüm, yorumumu kaldırmam gerekir. Benim problemim GXT bileşenini kullanmaktı. – Pith