5

メッセージボックス(Ext.window.MessageBox)を動的に作成しています

var msgBox = Ext.create('Ext.window.MessageBox', {
       title: '',
       //message in window
       msg: 'message text',
       icon: 'WARNING',
       //buttons
       buttons: 'OKCANCEL',
       //onclick funciton
       fn: myfunc
 });

[OK]ボタンと[キャンセル]ボタンを追加しています。[OK]ボタンにクリックリスナーを追加して、この[OK]ボタンが押されたときにのみ自分の作業を実行できるようにすることはできますか?

また、ExtJSから事前に生成されたIDを使用する代わりに、[OK]ボタンと[キャンセル]ボタンに特定のIDを追加して、それらをより簡単に区別できるようにすることはできますか?

4

1 に答える 1

8

代わりに、次の構造を使用できます。

Ext.MessageBox.show({
    title: "",
    msg: "message text",
    icon: Ext.MessageBox.WARNING,
    buttons: Ext.MessageBox.OKCANCEL,
    fn: function(buttonId) {
        if (buttonId === "ok") {
            // do on OK pressed
        }
    }
});

ここで、ハンドラーの最初の引数は、fn押されたボタンの文字列値です。

デモ:http: //jsfiddle.net/xj9qY/

于 2012-11-27T21:18:46.343 に答える