emptyText随表单一起提交

时间:2012-02-03 10:02:02

标签: javascript extjs extjs3

我正在使用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 个答案:

答案 0 :(得分:19)

您需要在submitform xtype中添加此配置:

submitEmptyText: false

通过defalut将submitEmptyText设置为true。 在在线文档HERE上查看。

编辑:尝试以下代码而不是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 :(得分:1)

如果您只想获取没有emptytext的值(例如,使用Ext.Ajax提交问题),请使用myForm.getForm().getFieldValues()