gpt4 book ai didi

javascript - Extjs 4表单提交dom未定义

转载 作者:行者123 更新时间:2023-11-28 09:30:29 25 4
gpt4 key购买 nike

我有一个表单变量传递到我的窗口,并且记录是从网格/存储中填充的。代码如下:

{
tooltip: 'Edit',
handler: function(grid, rowIndex, colIndex){
var rec=grid.getStore().getAt(rowIndex);
var edit_app=Ext.create('Ext.Window',{
title: 'Edit Applicant: ' + rec.ge('app_name'),
items:[app_form],
buttons:[{
text: 'Update',
handler:function(){
if(edit_app.down('form').getForm().isValid()){ //or app_form.getForm().isValid(
edit_app.down('form').getForm().submit({
url: 'api/api.php',
waitMsg: '..submitting',
success: function(form,actns){
edit_app.hide();
},
failure: function(fomr,actnz){
alert('Error with submission');
edit_app.close();
}
});
}
}
}, {
text: 'Close',
handler: function(){
edit_app.hide();
}
}]
}).show();

var form = edit_app.down('form').getForm(); //app_form.getForm()
form.loadRecord(rec);
}
}

当我第一次填充表单时,它提交更新得很好。但是,当我第二次尝试相同的操作时,我收到以下消息:

me.getRenderTarget(...).dom is undefined

targetNodes = me.getRenderTarget().dom.childNodes,

我一直在尝试用谷歌搜索解决方案,但到目前为止还没有成功。我们将非常感谢您的帮助

最佳答案

我相信问题可能是您使用“Ext.create”构建一个新的窗口对象,每次调用处理程序时,并将表单作为变量引用传递,并使用“隐藏”和“完成表格后关闭”。这可能会导致很多冲突,因为 Ext 尝试访问原始对象,但找不到子对象,这就是您的错误的样子。该表单仍可能与原始对象关联,或者您的窗口选择器可能正在获取现在不再具有该表单的原始窗口。不管怎样,Ext 的选择器都很困惑。

要测试这一点,请尝试将窗口创建移到处理程序之外,然后调用“myWindow.show()”和您的表单填充代码。

关于javascript - Extjs 4表单提交dom未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13788580/

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