2012-01-16 2 views
0

Я имею форму с ExtJS, как это:изменение значения поля формы на ExtJS действия submitt

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

когда я отправить форму стоимости отправки на сервер, как это:

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

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

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

ответ

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

4

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

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