我在不更改值的情况下验证表单时的网格堆栈项

时间:2013-06-06 22:47:33

标签: javascript extjs sencha-architect

为什么当我通过一个窗口打开表单而我什么都没改变而且我同意时,我的网格项目堆叠而不是为我的网格充电?但是我更改了表单的值,我同意,我的网格是否正确重新加载?

提前完成

编辑:如果不更改数据,Store.sync将返回错误

The picture of the bug

我的代码:

var modele = Modeles[activeTabParametresApplicatifs]; // Ex: Name
var id = 'Id'+modele; // IdName
var chaine = activeTabParametresApplicatifs; // TabNames
var store = chaine.substr(3,chaine.length); // Names

eval ('record = Ext.create(\'ModuleGestion.model.'+modele+'\');');
eval ('store = this.get'+store+'Store()');

var win    = button.up('window'),
    form   = win.down('form');
record = form.getRecord();
values = form.getValues();

eval ('var id = values.'+id);



if (form.isValid()) {

    if (id > 0){
        record.set(values);

    } else{
        record.set(values);
        store.add(record);

    }

    store.sync({
        success : function() {
            store.load();
        }
    });

    win.close();

}

1 个答案:

答案 0 :(得分:0)

多德!跟随您的代码就像跟踪大脚!为什么所有那些毫无意义的逃避?

首先替换:

eval ('var id = values.'+id);

有了这个:

id = values.id;

然后删除所有其他的逃避,并戒掉使用它们的习惯现在

好的,对不起这次爆发但是你真的走了一条非常危险的道路。所以,关于你的问题,考虑到缺乏背景,只是一个疯狂的猜测,但罪魁祸首不是这一行:

store.add(record);