2012-02-03 2 views
8

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

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

же для внутр 4 Aswell –

ответ

19

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

submitEmptyText: false 

По defalut Для параметра submitEmptyText установлено значение true. Просмотрите онлайн-документацию HERE.

EDIT: попробуйте следующий код вместо 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) {} 
}); 
+0

Даже это не работает :( – hop

+0

Спасибо за ваш ответ. Вы можете мне сказать, где именно я должен добавить это в моем коде? – hop

+0

обновленный ответ. –

1

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

 Смежные вопросы

  • Нет связанных вопросов^_^