изменить значение поля формы при отправке действия extjs

У меня есть форма с extjs, как это:

        {
            xtype : 'textfield',
            fieldLabel : 'name',
            name : 'vTitle',
            allowBlank : false
        },{
            xtype : 'datefield',
            fieldLabel : 'name',
            name : 'date',
            allowBlank : false
        }

когда я отправляю значение формы, отправляемое на сервер следующим образом:

Parameters:
 vTitle:mm
 date:9/11/2011

Когда я отправляю форму, я хочу, чтобы мое собственное значение было отправлено вместо значения по умолчанию. Например, когда я отправляю дату: 9/11/2011, я хочу, чтобы дата: my value related with 9/11/2011 была отправлена ​​на сервер.

Я использовал setvalue для своей формы, но если у меня есть ошибка с сервера, мое значение формы по умолчанию изменяется, и я не хочу использовать setvalue (только я хочу отправить свое собственное значение на сервер)


person masoud sharifi    schedule 16.01.2012    source источник


Ответы (2)


Ext.Ajax.request({
    url:'requestURL.ajax',
    params:{
       // date: 'your modified date' OR date: date.getValue(), or whatever you want..
    },
    success: function(response, options){

    },
    failure: function(resp, action){

    }
});

Он сделает вызов Ajax, и вы сможете отправить любой параметр внутри него, а также вы можете обработать его ответ внутри успеха и неудачи.

person Zaur Guliyev    schedule 17.01.2012

Вы можете сделать это, установив submitValue на false в этих двух полях и создав скрытое поле, которое будет содержать вычисляемое значение. Когда вы устанавливаете submitValue на false, значение из поля не будет отправлено, как следует из названия, поэтому будет отправлено только значение скрытого поля. Таким образом, вам нужно только создать обработчик для обновления значения в скрытом поле (например, вы можете создать обработчик для события Ext.form.BasicForm.beforeaction).

Рабочий образец: http://jsfiddle.net/3zmvJ/2/

person Krzysztof    schedule 17.01.2012