1

在 Extjs 3.4 中,我有一个相当大的表单,它是从一个 ajax 调用中填充的,通过someForm.getForm().load({url: someplace, etc})它可以完美地工作。不过,我似乎无法解决的问题是,有几个组合框和复选框可以确定另一个字段是否可见,并且allowBlank.

根据类似问题的答案,我尝试actioncomplete在表单上使用该事件,但该字段此时没有值。我也尝试过使用通话success事件,load()但遇到了同样的问题。

有没有其他方法可以从form.load()调用中获取此功能?

编辑 - 这是我的load电话:

var panel = Ext.getCmp('someFormID');
panel.getForm().load({
    method: 'GET',
    url: 'ajax_get_request.aspx?id=' + id,
    success: function (form) {
        // This will error: object is null or undefined
        alert(form.findField('fieldID').getValue());
    }
});

我对 Extjs 比较陌生,所以也许我只是在这里遗漏了一些东西......

4

1 回答 1

1

不知道为什么挂钩success回调Ext.form.BasicForm.load()失败,但我可以提出一种替代方法。

我通常使用显式Ext.Ajax.request()调用将数据加载到Ext.data.Record. 然后在request()'ssuccess回调中,我使用Ext.form.BasicForm.loadRecord(). 如果您需要对加载的值采取行动,您可以在同一个回调中执行。

我这样做是因为我喜欢将来自服务器的原始值存储在某个地方。

于 2013-02-27T17:51:24.603 回答