我正在使用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(){
}
});
答案 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()
。