ExtJS之修改编辑时的表单加载

 

Ext表单加载通常是这么写的

bookForm.form.load({

    waitMsg : '正在加载数据请稍后',//提示信息

    waitTitle : '提示',//标题

    url : 'getBookById.action',//请求的url地址

    params : {bookId:bookId},

    method:'post',//请求方式

    success:function(form,action){//加载成功的处理函数

     Ext.Msg.alert('提示','数据加载成功');

     //alert(bookForm.getForm().findField("typeId").getValue());

     Ext.log('上传成功。');

     

    },

    failure:function(form,action){//加载失败的处理函数

     Ext.Msg.alert('提示','数据加载失败');

    }

 

 

 

通过调用Ext.BasicForm中的doAction方法来操作的。doAction方法带有两个参数,其中第二个参数为从 load 方


法传递过来的 Ext.form.Action对象的配置数据(Config Options)。其中的success和failure属性是用于处理请


求成功或失败的函数


通过查看Action.js可以发现响应过来的数据是需要符合一定格式的,的 API文档开头就说明了响应数据包必须类似


下面的格式:


{ success: true, data: {表单id: 表单值,表单id2:表单值} }

success属性作用同上。主要是data。data用以保存表单元素的数据。格式是将表单的id作为属性名称,表单值作为


属性值。返回客户端后,ext自动分析data属性,并将各个表单值赋值到各个表单当中。


这里就要非常注意了,响应的时候查询的是一个对象,一般这么写

String json = "{success:" + isSuccess + ",data:"+book+"}";

显然这是没什么错,只要打印下json就知道了,在你没有重写对象的toString方法的情况下打印的肯定是地址了,如果你重写了toString方法也不对,因为人家要求的格式是

{ success: true, data: {表单id: 表单值,表单id2:表单值} }

这里面的表单值一定要带单引号再传回去,否则就匹配不上了

我的其中一个实体是这么重写toString的

@Override

public String toString() {

return "{author:'" + author + "', bookName:'" + bookName

+ "', typeName:'" + booktype.getTitle() + "', brief:'" + brief + "', id:'" + id

+ "', price:'" + price + "'}";

}

 

 

好了这次一定没错了,因为我重写了它要求的格式并且带上了引号

最后注意:表单的各个元素的ID值一定要一一对应喽


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值