1

次のようなコードがあります。

        Ext.Msg.prompt( Translation.RefusalMessageBoxTitle, "", 
            function(btn, text, cfg ){

                if(btn == 'ok' && Ext.isEmpty(text)) {
                    var newMsg = '<span style="color:red;" class="error">' + Translation.RefusalMessageBoxEmpty + '</span>';
                    Ext.Msg.show(Ext.apply({}, { msg: newMsg }, cfg));
                }else if( btn !== 'ok' ){
                    return;
                }else if( btn == 'ok' ){
                    this.sendRefusalAnswer( methodName, text, "reject", Constant.DocumentStatus.REFUSED, me.selectedDocument.get('id'));
                }

            }, this, true, '' );

今 mz 問題は

 var newMsg = '<span style="color:red;" class="error">' + Translation.RefusalMessageBoxEmpty + '</span>';
                        Ext.Msg.show(Ext.apply({}, { msg: newMsg }, cfg));

コードの一部が実行されますが、ボックスがすぐに閉じます...どうすればそれを防ぐことができますか??? 何か案は?

編集:

これは EXTJS 4.2 ビルドでのみ発生します。

バージョン ビルド日: 2013-05-16 14:36:50 (f9be68accb407158ba2b1be2c226a6ce1f649314) は問題なく動作します °-°

4

3 に答える 3

1

Ext.Msgシングルトンではなく、通常のウィンドウを使用するか、自分自身の複数のインスタンスを作成してExt.window.MessageBoxください。alertシングルトンはそれ自体がウィンドウであり、コンポーネントは、confirm、などのすべての呼び出しで共有されるpromptため、複数のウィンドウを同時に表示することはできません。

于 2013-09-26T08:04:50.220 に答える
0

わかりました... mz ビルド マシンではビルド バージョンが異なっていました。

地元に持っている

ビルド日: 2013-03-11 22:33:40 (aed16176e68b5e8aa1433452b12805c0ad913836)

mz テスト マシンでは、

ビルド日: 2013-05-16 14:36:50 (f9be68accb407158ba2b1be2c226a6ce1f649314)

私のローカルでは動作しません... しかし、テストマシンでは問題なく動作します... 3 ヶ月! すごい!

于 2013-09-26T12:06:41.727 に答える