3

displayValue ではなく valueField をポストする ExtJs バージョン 4 ComboBox を作成しようとしています。以前のバージョンでは、ComboBox の構成で「hiddenName」オプションを設定していましたが、v 4 または同等のものでは見つからないようです。また、これは ExtJs フォーム パネルではありません。コンボボックスは、プレーンな html フォーム内にレンダリングされています

//My Code

new Ext.form.ComboBox({
    renderTo: 'my_div',
    store: new Ext.data.SimpleStore({
        fields: ['value', 'name'],
        data: [['1', 'A'], ['2', 'B'], ['3', 'C']]
    }),
    name: 'letter',
    hiddenName: 'letter_id',
    hiddenValue : '0',
    displayField: 'name',
    valueField: 'value',
    mode: 'local'
});



//  The value of the form POST when I selected 'A'
"letter=A"

//  This is what I want
"letter=1"
4

2 に答える 2

2

参考までに... Extjsチームは、すべての要素の「構成」を改善しました。
そして、あなたはこれ を読んだことcomboboxがありませんか?52ページに移動しようとすると、どちらも同様の結果が得られます...hiddenName

var itemForm = Ext.create('Ext.form.FormPanel',{
    title: 'Simple Form',
    renderTo :Ext.getBody(),
    url :'test.php',
    items:[
        new Ext.form.ComboBox({
            store: new Ext.data.SimpleStore({
                fields: ['value', 'name'],
                data: [['1', 'A'], ['2', 'B'], ['3', 'C']]
            }),
            name: 'letter',
            displayField: 'name',
            valueField: 'value',
        })]
});

これを実行するitemForm.getForm().submit()と送信されletter = 1ます..
おそらくエラーは別の場所にあります..

于 2011-04-20T00:12:43.520 に答える
0

8時間立ち往生した後、サーバーからのストアの応答に「\ r」または「\ n」が含まれている問題が見つかりました。削除するだけで問題なく動作します:)

于 2013-05-30T09:30:29.757 に答える