emptyText отправляется с формой - PullRequest
8 голосов
/ 03 февраля 2012

Я использую Ext Js 3.4.Я сталкиваюсь с проблемой, когда с помощью myform.getForm.getValues()

emptytext также отправляется в запросе.

Ниже приведен фрагмент кода

myForm = new Ext.FormPanel({
    id: 'myForm ',
    items: [
            {
                region:'center', 
                border:false,       
                items:[center_one]
            },{ 
                region:'west', 
                border:false, 
                items :[west_one]    
            },{ 
                region:'east', 
                border:false, 
                                items :[east_one]
            },{
                region:'south', 
                layout:'table',  
                iborder:false,
                items: [south_one]
            }
        ]
});





var west_one= new Ext.form.FieldSet({
        width: 282,
        height:250,
        layout: 'table',
                items: [{
            id: 'form1',
            layout: 'form', 
            items: [field1]
        },{
            id: 'form2',
            layout: 'form',
            items: [field2]
        }]
});



var field1 = new Ext.form.ComboBox({
        fieldLabel: 'Field',
        width: 150,
        name: 'field1',
        cls: 'fields field1',
        id: 'field1',
        store: field1Store,
        displayField: 'name',
        valueField: 'name',
        mode: 'local',
        emptyText: 'Select Field1', // This value gets submiited when no value is selected
        selectOnFocus: true,
        triggerAction: 'all',
        forceSelection : true,
        editable:true,
        typeAhead:true,
    });

Я отправляю:

Ext.Ajax.request({
                url: 'forms.do?submit',
                method: 'POST',
                params: myForm.getForm().getValues(),                                               
                success: function(response, option){

                },
                failure: function(){

                }
            });

Ответы [ 2 ]

19 голосов
/ 03 февраля 2012

Вам нужно будет добавить этот конфиг в submitform xtype:

submitEmptyText: false

По умолчанию для submitEmptyText установлено значение true. Проверьте это в онлайн документации ЗДЕСЬ .

РЕДАКТИРОВАТЬ: попробуйте следующий код вместо Ext.ajax:

var myForm = Ext.getCmp('myForm').getForm();
myForm.submit({
                                        url : 'forms.do?submit',
                                        method : 'POST',
                                        fileUpload : true,
                                        submitEmptyText : false,
                                        // waitMsg : 'Saving data',
                                        success : function(form, action) {}
});
1 голос
/ 23 декабря 2014

Если вы просто хотите получить значения без emptytext (например, чтобы отправить их, используя Ext.Ajax, как в вашем вопросе), используйте myForm.getForm().getFieldValues().

...