簡體   English   中英

Extjs 4.2加載名稱為[]的表單數據

[英]Extjs 4.2 load form data with [] in name

我有一個extjs表單,其名稱類似於

udField [1] udFIeld [2]

我可以將其保存在服務器端而不會出現問題。 但是,當我想編輯表格時,它不會填充值。

這是ud領域的示例:

{
        labelSeparator: config.required == 1 ? ': <span style="color:red">*</span>' : ':',
        allowBlank: config.required == 0,
        emptyText: config.options.blankText,
        xtype: 'textfield',
        name: 'udFields[' + config.options.udFieldId + ']', 
        flex: 0,
        fieldLabel: Ext.lang(config.display_name),
    }

這是我如何加載它:

 Ext.getCmp('rootform').getForm().load({
            url: 'ajax/Freetext/Article/LoadSingle',
            waitMsg: Ext.lang('t_warenkorb_wird_geladen'),
            params: {
                cartarticle_id: cartarticleId,
                sid: config.sid
            },
            success: function (form) {
some checks and other stuff
}

我從服務器得到正確的響應,這是響應json數據:

amount: "1"
cartarticle_id: "xxx"
catalogpartner_id_freetxt: "xxx"
delivery_date: "15.04.2015"
description_long: "test "
description_short: "test"
manufacturer_aid: "xxx"
manufacturer_name: "xxxxxx"
order_unit: "PAK"
price_amount: "122.12"
remarks: "test"
supplier_aid: "test"
udFields[123]: "test"

但是該死的東西不會給媽媽裝什么...。任何人都有一些想法???

ps這是帶有模糊數據的整個json字符串:

{"success":true,"data":{"catalogpartner_id_freetxt":"12","description_short":"test","cartarticle_id":"12","amount":"1","order_unit":"PAK","price_amount":"122.12","delivery_date":"15.04.2015","description_long":"test ","remarks":"test","supplier_aid":"test","manufacturer_name":"Datenbank feiger Text (@todo)","manufacturer_aid":"Datenbank feiger Text (@todo)","udFields[123]":"test"},"debug":["11.05.2015 16:58:20.860232 params:Array\n(\n    [cartarticle_id] => 312\n    [sid] => 132\n)\n<br><BR>"]}

好吧,我不知道如何配置它。 嘗試各種方式。 最后,我從數組中制作了一個成功解析器。...雖然不漂亮,但只有我可以依靠的解決方案...。

  success: function (form, data) {
                if (data.result.data)
                    if (data.result.data.udFields) {
                        for (var key in data.result.data.udFields) {
                            var element = data.result.data.udFields[key];
                            var input = form.findField('udFields' + element.id);
                            if (input)
                                input.setValue(element.value);
                        }
                    }...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM