huang986128 2011-05-11 11:11
浏览 384
已采纳

关于编辑器TextField保存空值到数据库变“undefined”字符串

var cm = new Ext.grid.ColumnModel([
{
id:'simplename',
header: "简称",
dataIndex: 'dddd',
width: 100,
sortable : true,

editor: new Ext.form.TextField({
 allowBlank: true
})
}

]);
大概有这样一个模型,可以添加行,然后点击它可以编辑,但是我保存空值的时候它自动保存了“undefined”这个字符串到数据库了,TextField的value属性默认值是"undefined",但我加了value:""也不行,还是保存了那个字符串,求解啊????

  • 写回答

5条回答

  • iteye_15199 2011-05-12 09:55
    关注

    首先需要明确自动保存都传入了什么数据到服务器端!我觉得你应该把这个险找出来,也就是你说的自动保存的时候你修改的字段向服务器请求的数据是什么!?只有知道了这个环节的数据才能知道问题出在哪!?一般在处理编辑保存的时候代码段如下:

    listeners:{
    afteredit:function(e){
    var connection=new Ext.data.Connection();
    connection.request({
    url:"update",
    params:{
    action:"update",
    id:e.record.id,
    field:e.field,
    value:e.value
    },
    success:function(response,options){
    e.commit();//进行更新
    }
    });
    }
    }
    即时自动更新,这个代码段中params也会制定对应的字段,比如action--更新动作,id--更新记录Id,field--更新的字段名,value--对应field更新字段的值。
    这样子通过IE或者Firebug都可以监控到发送到服务器端的值,也可以在服务器端进行判断。

    由于工作中未出现过你说的问题,所以建议你可以以上面的方式来排错。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?