单击Ext JS OPEN / SAVE对话框

时间:2018-01-09 12:54:50

标签: javascript web extjs extjs4

使用ExtJS 4.2.3,我有FORM附件列表。当我点击其中一个附件名称时,它开始下载。我不需要下载,而是需要能够在点击时打开或保存文件。

代码示例:

<script type="text/javascript" language="javascript">
    Ext.onReady(function () {

        var trGuid = Ext.Object.fromQueryString(location.search).trGUID;

            Ext.define("File_model", {
                extend: "Ext.data.Model",
                fields: [
                    { name: 'document_GUID', type: 'string' },
                    { name: 'attachment_fileName', type: 'string' },
                ]
            }); // end Model

            Ext.create('Ext.data.Store', {
                storeId: 'FileStore',
                model: "File_model",
                proxy: {
                    type: 'jsonp',
                    url: 'http://test/AttachmenttoHTML/List',
                    extraParams: { trGUID: trGuid },
                    reader: {
                        type: 'json',
                        root: 'data'
                    }
                },
                autoLoad: true
            }); // end Store

            FileGrid = new Ext.grid.Panel({
                renderTo: "EXT-CONTENT",
                width: 750,
                height: 500,
                listeners: {
                    cellclick: function (table, td, cellIndex, record, tr, rowIndex, e) {
                        var url = 'http://test/Attachment/Get?document_GUID=' + record.get("document_GUID");
                        console.log(url);
                        window.location = url;
                    }
                },
                columns: {
                    defaults: { filter: true },
                    items: [
                        { text: 'Name', dataIndex: 'attachment_fileName', width: 748, cellWrap: true }
                    ]
                },
                store: Ext.data.StoreManager.lookup('FileStore')
            }); // end TaskGrid

    }); // end onReady
</script>

1 个答案:

答案 0 :(得分:0)

在你的手机点击功能中,你需要调用这样的函数:

function openDialogue(url) {
Ext.MessageBox.show({
       title:'Export',
       msg: 'Souhaitez vous télécharger le document?',
       buttons: Ext.MessageBox.YESNOCANCEL,
       fn: showResult,
       animateTarget: 'mb4',
       icon: Ext.MessageBox.QUESTION
   });
}

您可以找到更多avout消息框(http://docs.sencha.com/extjs/4.0.7/#!/example/message-box/msg-box.html)。

函数showResult将像以前一样重定向到url。

否则,您可以使用window.open进行de save对话框。

希望它有所帮助!