在提交操作extjs上更改表单字段值

时间:2012-01-16 16:19:33

标签: extjs form-submit extjs3

我有这样的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 个答案:

答案 0 :(得分:5)

您可以在此两个字段上将submitValue设置为false,并创建包含计算值的隐藏字段。当您将submitValue设置为false值时,将按照名称暗示提交字段,因此仅提交隐藏字段值。因此,您只需要创建处理程序来更新隐藏字段中的值(例如,您可以为Ext.form.BasicForm.beforeaction事件创建处理程序。)

工作样本:http://jsfiddle.net/3zmvJ/2/

答案 1 :(得分: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调用,你可以在其中发送任何参数,并且你也可以在成功和处理中处理它的响应。失败..