- 群里有个人问有没有像form的getValues方法,可惜没有,于是就动手扩展了一个。一下是扩展方法的代码
- Ext.override(Ext.form.FieldSet,
- {
- getValues: function (asString) {
- var self = this;
- var nform = document.createElement('form');
- document.appendChild(nform);
- nform.style.display = 'none';
- var fs = self.el.dom;
- nform.appendChild(fs.cloneNode(true));
- var fss = Ext.lib.Ajax.serializeForm(nform);
- document.removeChild(nform);
- if (asString) {
- return fss;
- }
- return Ext.urlDecode(fss);
- }
- });
使用例子:
- var form = new Ext.form.FieldSet({
- title: 'form',
- defaultType: 'textfield',
- labelAlign: 'right',
- labelWidth: 50,
- buttonAlign: 'center',
- frame: true,
- width: 220,
- items: [{
- fieldLabel: '文本框',
- name: 'field1',
- value: 45
- }, {
- fieldLabel: '文本框',
- name: 'field2',
- value: 12
- }],
- buttons: [{
- text: '按钮'
- }]
- });
- form.render("form");
- form.getValues();