3

http://dev.sencha.com/playpen/docs/output/Ext.MessageBox.html#promptを使用して、ユーザーがテキストを入力して[OK]をクリックできるextjsプロンプトを表示しています。ユーザーが100文字以内のテキストを入力できるように制限したい場合は、どうすればよいですか?

ある種のイベントハンドラーを作成する必要があることは理解していますが、イベントとは何ですか?コードサンプルを見ることができますか?

4

2 に答える 2

4

呼び出すMessageBox.promptと、テキストボックス要素のdom参照を取得するために使用できるシングルトンのインスタンスが返されます。この要素を使用してmaxlength、入力できるテキストの長さを制限するために使用できる属性を指定できます。

var dlg = Ext.MessageBox.prompt('Name', 'Please enter your name:', function(btn, text){
    if (btn == 'ok'){
        // process text value and close...
    }
});

var textboxEl = dlg.getDialog().body.child('input[class=ext-mb-input]', true);
textboxEl.setAttribute('maxlength', 1);   // second parameter is character length allowed so change it according to your need

参照:

HTMLの文字数制限

于 2013-04-06T21:01:40.143 に答える
0

Ext 4用に更新されました(元の回答を提供してくれたSilentSakkyに感謝します):

var dlg = Ext.MessageBox.prompt('Name', 'Please enter your name:', function(btn, text){
    if (btn == 'ok'){
        // process text value and close...
    }
});

var textboxEl = dlg.getEl().query('input')[0];
textboxEl.setAttribute('maxlength', 1);
于 2014-02-25T15:56:48.043 に答える