2011-08-08 8 views
9

GWT TextAreaの最大長を設定できません。誰かがGWTでこれを達成するのを助けることができますか?GWT TextAreaのMaxlength

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

あなたが最大の長さを設定することができない何を意味するのか?あなたは問題を抱えていることを除いて、何が問題なのですか? –

+0

こんにちは、私は300文字以上を入力しないようにユーザーを制限したい、私はAPIを見て、私のためにできる方法はありません。どのように私はgwtでこれを達成することができます –

答えて

3

原因maxLengthはhtml5機能です。そのため、古いブラウザでは機能しません。あなたは自分で行う必要があります。 keyPresshandlerを追加して、テキストエリア内のテキストの長さを数え、そのテキストを長めにするだけです。

+0

こんにちは、返信ありがとう、しかし、私は(これ以上300文字)とテキスト領域に貼り付け、この時間も許可してはならない単語のファイルからコンテンツをコピーするとき。これを解決するために私を助けてください。 –

+0

keyPressHandlerで動作しないことをテストしましたか?コピーペーストで2つのキーがすべて押された後。コンテキストメニューを使用しているときには表示されません。あなた自身で貼り付けイベントを実装するためにJSNIメソッドを使用する必要があるようです:http://www.quirksmode.org/dom/events/cutcopypaste.html –

+0

すべてのハンドラを使用しましたが、実際には動作しますが、コピー貼り付けをカットすると動作しません。これを行う方法はありますか? thanks –

6

あなたはそのように設定できます。

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

ギャルの答えは右のちょうど1つの補正である:

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

2番目のパラメータは文字列です。これは私のために働いた。 HTML5をサポートしていないブラウザ用

+0

これはGWT 2.3で動作しますか? – Pith

+0

@pithはいそれは働くはずです.. –

+0

申し訳ありません、私のコメントを削除する必要があります。私の問題はGXTコンポーネントを使用していたことでした。 – Pith