フォーム内にコンボボックスがあり、valueField は mongodb のドキュメントの ObjectId フィールドです。コンボボックスにフィールドの適切な値が表示されますが、getValue で値の一部だけが返され、getRawValue はの値を返します表示フィールド。これはコンボボックスのコードです:
{
xtype: 'combo',
fieldLabel:'Firm',
store:Ext.data.StoreManager.lookup('bbCompaniesStore'),
displayField: 'firm',
valueField: '_id',
name: 'country',
labelAlign: 'top',
cls: 'field-margin',
flex: 1
}
これは、フォームから値を取得する方法です。
var nomeField = formPanel.items.get(0).items.get(0);
var firmField = formPanel.items.get(0).items.get(1);
var noteField = formPanel.items.get(0).items.get(2);
var contact = Ext.ModelManager.create({nome: nomeField.getValue(), note: noteField.getValue(),'firm_id':firmField.getValue()}, 'Contact');
それは機能しますが、_idの値をトランクします。firebugで確認しました。サーバーは正しいデータを送信します。getRawValueを使用して解決する前に、extjsは何らかの正規化を行うと思いますが、コンボボックスではdisplayFieldを返します。この問題を解決する方法がわかりません。