我目前正在尝试在单击EXTJS消息警告框上的OK按钮时调用PHP脚本。
由于某些原因,当我使用处理程序时,它甚至不显示警报框。但是,当我使用监听器时,它会显示Alert框,但在单击OK按钮时不会调用php脚本。我在不同的博客上阅读,并逐渐认识到Handler是前进的最好方式。
如果有人能帮我或把我引向正确的方向,我将不胜感激。我正在使用EXTJS4的最新版本
下面是我使用处理程序编写的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');
}
});
}
}
});
发布于 2013-02-20 11:02:48
Ext.tree.Panel在配置中没有“处理程序”属性。处理程序是在单击某些组件(如按钮)时执行的函数。您可以在treePanel工具栏上添加按钮,并使用按钮处理程序:
...
tbar: [{
xtype: 'button',
text: 'Subscribe',
handler: function(button) {
...
}
}],
...
见“小提琴”:http://jsfiddle.net/FFvLa/
但是在单击OK按钮时不会调用php脚本。
函数必须作为Ext.Msg.alert中的第三个参数传递:
https://stackoverflow.com/questions/14985575
复制相似问题