2010-07-23 99 views
0

我可以看到之前哪些字段的值提交:ExtJS的form.submit()调用改变字段值

var itemsForm = ''; 
function mostraItems(item, index, length) { itemsForm += item.id + ':' + item.name + ':' + item.value + ':' + index + '\n'; } 
myForm.form.items.each(mostraItems); 
alert (itemsForm); 
myForm.form.submit({... 

我是所提交的值是从我所不同的问题请参阅form.submit()调用之前。其中一个字段是组合框:

var myCombo = new Ext.form.ComboBox({ 
    //autoWidth: true, 
    width: 250, 
    displayField: 'theFieldText', 
    editable: false, 
    emptyText: 'Select something ...', 
    fieldLabel: 'Some text', 
    listeners: { 'select': { fn: theOnSelect, scope: this} }, 
    mode: 'local', 
    selectOnFocus: true, 
    store: theStore, 
    triggerAction: 'all', 
    typeAhead: true, 
    valueField: 'theFieldValue', 
    name: 'fieldName' 
}); 

请求中发生的事情是valueField和displayField的总和。假设值字段包含“1”,并且displayField包含“一些文本”,那么请求中的内容是“1(某些文本)”,而不仅仅是值“1”。

在form.submit()调用之后或期间发生了一些事情,我找不到它是什么。

形式中使用分机2.3

回答

0

有没有什么不寻常的事情发生提交调用。

首先,在提交表单之前检查表单值(但不是现在这样做)。你使用Firebug(我希望是)?

myForm.getValues(); 

为您提供键/值对,因为它们将被提交。

所以输入到控制台

Ext.getCmp('your-form-id').getForm().getValues(); 

或者把你的代码

console.log(myForm.getValues()); 

而不是警报(),看看输出。然后,当您以标准方式提交表格时

myForm.submit({url: 'submit-url'}) 

有没有机会您的值会有所不同。你如何提交表格?

0

正如伊戈尔所述,您应该始终使用form.getForm().getValues()来查看提交的值。

如果对于任何特定的字段,您对数据的格式化,显示或计算方式都不满意,您总是可以覆盖该字段的getSubmitData方法。