изменить значение поля формы при отправке действия extjs - PullRequest
0 голосов
/ 16 января 2012

У меня есть форма с такими 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. (только я хочу отправить свое значение на сервер)

Ответы [ 2 ]

5 голосов
/ 17 января 2012

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

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

2 голосов
/ 17 января 2012
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-вызов, и вы сможете отправить любой параметр внутри него, а также вы можете обработать его ответ при успехе и неудаче.

...