如果我在extjs中有一个表单,我可以使用此
获取数据var values = form.getValues();
不幸的是,这仅返回已启用的字段。我也有禁用的字段。例如,我有一个禁用的ID字段,因为很明显你不想修改ID。所以getValues()方法是非常无用的IMO。
还有getRecord()。data,它给出了表格中的所有值。
form.getRecord().data
大!但是所有数据都不是数据,也没有反映出表格中的修改。
我也查看了 getFieldValues(),但这又只给了我启用字段的值。
是否有任何方法可以在屏幕上显示表格中的所有数据?或者我是否必须写一个巨大的黑客来给自己这个功能?
答案 0 :(得分:4)
将字段设置为readOnly而不是disabled。
或者使用组件Query:
执行此操作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);
答案 1 :(得分:1)
如果要模拟禁用的字段,可以使用以下CSS类:
.textFieldDisabled .x-form-text {
background-color: #B1B2B4;
background-image: none;
}
并在您的视图标记中显示:
{
xtype: 'textfield',
fieldLabel: 'User ID',
name: 'UserID',
readOnly: true,
cls: 'textFieldDisabled '
}
getValues()
将返回此字段的值,并且它将对用户显示为禁用状态。