I was having some trouble with getting the proper values from comboboxes in my form. I found this override to fix the problem for me:

PHP Code:

Ext
.override(Ext.form.Basic, {
    
getValues: function(asStringdirtyOnlyincludeEmptyText) {
        var 
values = {};

        
this.getFields().each(function(field) {
            if (!
dirtyOnly || field.isDirty()) {
                var 
name field.getName(),
                    
//val = field.getSubmitValue(), // Gets raw value rather than actual value
                    
val field.getValue(), //My fix, which gets the proper value.
                    
bucket;
                if (
val !== null) {
                    if (
includeEmptyText && val === '') {
                        
val field.emptyText || '';
                    }
                    if (
name in values) {
                        
bucket values[name];
                        if (!
Ext.isArray(bucket)) {
                            
bucket values[name] = [bucket];
                        }
                        
bucket.push(val);
                    } else {
                        
values[name] = val;
                    }
                }
            }
        });

        if (
asString) {
            
values Ext.urlEncode(values);
        }
        return 
values;
    },

});