2

我有一个标准提交的表格。

var formDettaglio = new Ext.form.FormPanel({

    title: 'Dettaglio richiesta',
    renderTo: 'divDettaglio',
    url: '/supporto/gestioneDettaglio',
    standardSubmit: true,
    width: '100%',
    forceFit: true,
    layout: {
        type: 'vbox',
        align: 'stretch'
    },
    defaults: {
        border: false
    },
    margin: '0 0 15 0',
    items: [{
            layout: {
                type: 'hbox',
                align: 'stretch'
            },
            margin: '0 10 5 10',
            items: [{
                    xtype: 'combo',
                    fieldLabel: 'Prodotto/Servizio',
                    labelWidth: 100,
                    width: 450,
                    queryMode: 'local',
                    name: 'cbAssets',
                    store: storeAssets,
                    displayField: 'valore',
                    valueField: 'codice'
                }, {
                    flex: 1,
                    xtype: 'label',
                    text: ' '
                }, {
                    xtype: 'textfield',
                    fieldLabel: 'Data chiusura prev.',
                    labelAlign: 'right',
                    labelWidth: 120,
                    width: 250,
                    name: 'textDataPrevista',
                    readOnly: true
                }, {
                    xtype: 'textfield',
                    fieldLabel: 'Stato',
                    labelAlign: 'right',
                    labelWidth: 50,
                    width: 150,
                    name: 'textStato'
                }
            ]
        }, {
            xtype: 'textarea',
            fieldLabel: 'Motivo richiesta',
            labelWidth: 100,
            height: 150,
            margin: '0 10 5 10',
            name: 'textMotivo'
        }
    ],
    dockedItems: [{
            xtype: 'toolbar',
            padding: '2 0 2 0',
            dock: 'bottom',
            ui: 'footer',
            items: [{
                    xtype: 'tbfill'
                }, {
                    xtype: 'button',
                    text: 'Salva',
                    style: "width:100px; height:25px;",
                    handler: function () {
                        if (formDettaglio.getForm().isValid()) {
                            formDettaglio.getForm().submit({
                                params: {
                                    azione: 'SALVA'
                                },
                                success: function (form, action) {
                                    alert('ok');
                                },
                                failure: function (form, action) {
                                    alert('ko');
                                }
                            });
                        } else {
                            alert('Errore!');
                        }
                    }]
            }]
    });

我调用的函数,/supporto/gestioneDettaglio发送一个 json 响应 {"success":true}

但是我的成功功能没有启动。我也尝试在萤火虫上使用断点:没办法。我回到一个空白页面,上面写着这句话......{"success":true}

我究竟做错了什么?我像在我的应用程序中发送任何其他响应一样发送 JSON。

4

2 回答 2

0

您已standardSubmit设置为 true。如果您想使用回调功能进行 ajax 提交,您需要将该standardSubmit属性设置为 false。

于 2013-04-16T14:52:14.593 回答
0

解决了“standardSubmit:false”在提交点击时,我打电话

Ext.Ajax.request({ url: '/supporto/gestioneDettaglio', 
    params: {azione: 'SALVA'},
    jsonData: { }, 
    form: 'formDettaglio', 
    method:'POST', 
    success: function(response, opts) { alert("successfull"); }, 
    failure:function(res,opt) { alert("request failed"); }
});

我不明白为什么没有“jsonData:{}”的Ajax请求没有传递参数......但没关系。谢谢!

于 2013-04-17T13:06:25.013 回答