Oli*_*ins 0 forms extjs extjs4.2
如果我在 extjs 中有一个表单,我可以使用它获取数据
var values = form.getValues();
Run Code Online (Sandbox Code Playgroud)
不幸的是,这只返回启用的字段。我也有禁用的字段。例如,我有一个禁用的 ID 字段,因为显然您不想修改 ID。所以 getValues() 方法在 IMO 中非常无用。
还有 getRecord().data 为我提供了表单中的所有值。
form.getRecord().data
Run Code Online (Sandbox Code Playgroud)
伟大的!但是所有的数据都是数据外的,它不反映表单中所做的修改。
我也查看了getFieldValues(),但同样只给了我启用的字段的值。
有没有什么方法可以让我完全按照屏幕上的形式提供所有数据?还是我必须写一个巨大的黑客来给自己这个功能?
小智 5
将字段设置为只读而不是禁用。
或者使用组件查询执行此操作:
var form = formpnl.getForm();
var disableditems = formpnl.query('[disabled=true]');
Ext.each(disableditems, function(item) { item.enable(); });
var values = form.getValues();
Ext.each(disableditems, function(item) { item.disable(); });
console.log(values);
Run Code Online (Sandbox Code Playgroud)