2016-09-20 4 views
0

ボタンをクリックすると新しいウィンドウが開きます。ボタンウィンドウのcclickでは、開閉が正常ですが、2回目は正しく閉じていません。ここ 2回目にウィンドウが正しく閉じない

は私のコードである

するvar formPanel =新しいExt.FormPanel({ 高さ:125、 自動スクロール:真、 ID: 'formpanel' DefaultTypeで指定: 'フィールド'、 フレーム。真、 タイトル: 'SVNからチェックアウト'、 アイテム:[{ のfieldLabel: 'SVNパス' }]、 ボタン:[{ テキスト: '送信'、 のminWidth:75、 ハンドラ:関数() {

 var urlTemp = './Export?' + '&' + fp.getForm().getValues(true); 
     formPanel.getForm().submit({ 
      url: urlTemp, 
      method: 'Post', 
      success: successFn1, 
      timeout: 18000000, 
      failure: otherFn 
     }); 
    } 
}, { 
    text: 'Reset', 
    minWidth: 75, 
    handler: function() { 
     formPanel.getForm().reset(); 
    } 
}] 

});

関数buildWindow(){

var win = new Ext.Window({ 
    id: 'newWindow', 
    layout: 'fit', 
    width: 300, 
    height: 200, 
    closeAction: 'hide', 
    plain: true, 
    stateful: false, 
    items: [ 
    formPanel] 
}); 

win.show(); 

}

VAR extSVN =新しいExt.Button({ テキスト: 'SVNからチェックアウト'、 のminWidth:75、 ハンドラ:関数() { buildWindow(); } });

Ext.create( 'Ext.panel.Panel'、{ renderTo:Ext.getBody()、 幅:400、 高さ:300、 アイテム:[ extSVN] })。

+0

ウィンドウを閉じるには何をしていますか? – Techidiot

+0

コードを[fiddle](http://fiddle.sencha.com)に入れてください。 – Alexander

+0

閉じるアイコンをクリックする(ウィンドウの十字または 'x'ボタン) –

答えて

0

あなたのウィンドウにはcloseAction: 'hide'が使用されています。これは、閉じるときに破棄されずに隠されることを意味します。 問題は、ウィンドウを再度開いたときに新しいウィンドウを作成すると、formPanelが2つの異なるウィンドウで終了し、エラーが発生するということです。

次のことが可能です。

  • closeAction: 'hide'を削除していますが、あまりにも
  • またはcloseAction: 'hide'を保つだけ 別のものを再作成する必要がありますので、ごformPanelも、ウィンドウを閉じる際に破壊 になります ウィンドウを1回作成する
関連する問題