gpt4 book ai didi

javascript - ExtJS 3.4 MessageBox 按钮是、否奇怪的行为

转载 作者:行者123 更新时间:2023-12-03 10:01:06 25 4
gpt4 key购买 nike

我在 ExtJS 3.4 中的 MessageBox 组件上遇到了这个问题,我正在拼命寻找解决方案。

 function supprimerCatalogPreEnregFunction() {
Ext.Msg.show({
msg: document.getElementById('confirmDeleteMessage').value,
buttons: Ext.Msg.YESNO,
icon: Ext.MessageBox.ERROR,
fn : function (btn) {
if (btn == 'yes') {
document.getElementById('deleteForm:deleteCatalogPreEnreg').onclick();
}
}
});
}

问题是我的 btn 返回值 1,而不是我期望的"is"或“否”。这让我发疯,因为我尝试了很多解决方案,但我不明白为什么会发生这种情况。

此函数是新 Ext.Button 的处理程序。该按钮是新 Ext.Panel 的一部分,按钮:[...]。

我不明白为什么这个按钮有那么奇怪的值(value),这让我很沮丧。缺少逗号会产生这种行为吗?不过,我没有发现缺少逗号。

L.E:

我进行了更多研究,更仔细地查看了我的代码,在调试器的帮助下,我发现我的函数 函数 (btn){}

在位置 0 上接收参数:值 1,在第二个位置上接收 Window (我当前的位置),第三个参数是我的组件应该接收的参数,它看起来像 ["yes", "“,对象{}]等。我认为这是我需要的参数,其中第 0 个位置是我的 btn 的值,但我不知道其他参数从哪里来知道我需要做什么才能使其工作。

由于我仍然有点困惑,我将用有关如何实现此处理程序的一般解释来更新此内容。
因此,在 Ext.onReady 处,我加载了一个函数 init()
然后,在这个函数中我做了一个 var deleteButton = new Ext.Button
这个按钮有一个处理程序,这是我从问题中得到的初始函数
deleteButton 添加到带有按钮的新 Ext.Panel 中:[deleteButton 等]
此面板作为项目添加到 Ext.TabPanel
最后,TabPanel 被添加到 ViewPort 中。

最佳答案

Sencha Documentation显示的实现如下:

// Prompt for user data and process the result using a callback:
Ext.Msg.prompt('Name', 'Please enter your name:', function(btn, text){
if (btn == 'ok'){
// process text value and close...
}
});

使用 ExtJs 3.4 运行以下代码:

Ext.onReady(function(){

Ext.BLANK_IMAGE_URL = '/js/ext-3.4.0/resources/images/default/s.gif';

Ext.Msg.show({
msg: "test",
buttons: Ext.Msg.YESNO,
icon: Ext.MessageBox.ERROR,
fn : function (btn, text) {
if (btn == 'yes') {
console.log(btn, text);
}
}
});
});

输出(Firebug 控制台):

yes (an empty string)

所以你的代码应该可以工作。我会检查是否加载了任何全局覆盖并单独测试它

关于javascript - ExtJS 3.4 MessageBox 按钮是、否奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30596547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com