【问题标题】:Called PHP script using EXTJS alert message box使用 EXTJS 警报消息框调用 PHP 脚本
【发布时间】:2013-02-20 16:59:42
【问题描述】:

我目前正在尝试通过单击 EXTJS 消息警报框上的确定按钮来调用 PHP 脚本。

由于某种原因,当我使用处理程序时,它甚至不显示警报框。但是,当我使用 Listener 时,它会显示警报框,但在单击 OK 按钮时不会调用 php 脚本。我在不同的博客上阅读并了解到 Handler 是前进的最佳方式

如果有人可以帮助我或指出正确的方向,我将不胜感激。我正在使用最新版本的 EXTJS4

下面是我用handler写的EXTJS树面板代码;

var treePanel = Ext.create('Ext.tree.Panel', {
    id: 'tree-panel',
    title: 'Available Database',
    region: 'north',
    split: true,
    height: 360,
    minSize: 150,
    rootVisible: false,
    autoScroll: true,
    store: store,

    handler: function() {
        if (treePanel.getSelectionModel().hasSelection()) {
            var selValue = treePanel.getSelectionModel().getSelection();

            Ext.MessageBox.alert('Press OK to confirm your subscription <br>' + selValue[0].data.text,
                function(btn, text) {
                    if (btn == 'ok') {
                        Ext.Ajax.request({
                            url: 'addSubscription.php',
                            params: {
                                nodetext: text,
                                parentid: selectedNode[0].data.id
                            },
                            success: function(response) {
                                var id = response.responseText;
                                grid.getView().refresh();
                            }
                        })
                    } else {
                        Ext.MessageBox.alert('Record already subscribed');
                    }
                });
        }
    }

});

【问题讨论】:

    标签: php extjs extjs4.1 jstree


    【解决方案1】:

    Ext.tree.Panel 在配置中没有“处理程序”属性。 处理程序是当您单击某些组件(例如按钮)时执行的功能。 您可以在 treePanel 工具栏上添加按钮,并使用按钮处理程序:

    ...
    tbar: [{
        xtype: 'button',
        text: 'Subscribe',
        handler: function(button) {
            ...
        }
    }],
    ...
    

    在 jsfiddle 上查看:http://jsfiddle.net/FFvLa/

    但点击确定按钮后不会调用 php 脚本。

    函数必须作为 Ext.Msg.alert 中的第三个参数传递:

    http://jsfiddle.net/FFvLa/2/

    【讨论】:

    • 感谢您的信息,但我想在 MessageBox.Alert 对话框上处理此问题,而不是通过创建按钮
    • @ShoaibSuleman 使用侦听器(例如'boxready')并将回调函数作为第三个参数传递。不像 2. Jsfiddle:jsfiddle.net/FFvLa/3
    • 我让它与 tbar 一起工作,它现在很好,因为我的项目 UAT 日期不远了。但是感谢您的帮助
    猜你喜欢
    • 2013-07-18
    • 1970-01-01
    • 2012-01-10
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多