簡體   English   中英

如何防止Sencha Ext.Msg關閉按鈕點擊

[英]How to keep Sencha Ext.Msg from closing on button click

所以我有一個消息框,我建立了能夠發送消息。 它有2個輸入,一個OK和Cancel按鈕。 我可以很容易地訪問內容並完成正常的邏輯設置:

Ext.Msg.show({
        title: 'Send a Message: ',
        cls: 'MessageBox',
        html: '<div class="message-InnerContainer" >' +
            '<input type="text" id="messageBoxSubject" placeholder="Subject" class="messageBox-Input"/>' +
            '<textarea id="messageBoxMessage" placeholder="Message" class="messageBox-TextArea"></textarea>' +
            '<div>',
        closable: false,
        buttons: [
            { no: 'Cancel', text:'Cancel', cls:'messageBox-CancelButton'},
            { yes: 'OK', text:'Ok', cls:'messageBox-OkButton'}
        ],
        fn: function (btn) {
            if (btn == 'ok') {
                //do success logic
            }
            else (){
                //do failure logic
            }
        }
    });

只有一個問題:當按下OK時,我似乎無法找到一種方法來保持盒子自動關閉。 理想情況下,我想快速檢查以確保兩個輸入不為空。 我想我可能只是通過在html部分放置自定義按鈕來覆蓋按鈕,但是如果有辦法停止自動關閉,那么它在語法上會更加令人愉悅和可讀。 有誰知道它可能嗎?

天啊! 您應該考慮使用一些常規的Ext 文本字段文本區域作為窗口而不是您自己的烘焙html ...

無論如何,使用按鈕的handler ,而不是fn處理程序。 你可以在那里做任何你想做的事情,只有在你喜歡的時候關閉窗戶:

buttons: [
    { text:'Cancel', cls:'messageBox-CancelButton', handler: function() {
        this.hide();
    }},
    { text:'Ok', cls:'messageBox-OkButton', handler: function() {
        var allGood = false;

        // do your stuff here

        // ... and if your satisfied with the result, close the window
        if (allGood) {
            this.hide();
        }
    }}
]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM