Ext formpanel loadRecord/load方法示例
Ext formpanel loadRecord/load方法给formpanel加载数据示例
Ext formpanel loadRecord是加载本地数据用的,注意参数一定要是Ext.data.Record(3-版本)或者Ext.data.Model(4+版本)实例对象,不能直接加载JSON对象。
Ext formpanel load是加载远程数据用的,返回的数据格式如下,success为ture表示请求成功,数据放到data键名称下
注意:data下的键名称一定要和你formpanel->items里面项目的name值一致,并且Ext.data.Record和Ext.data.Model的列名称也要一致。
注意:4+版本使用JSON.parse来将json字符串转为json对象,一定要返回标准格式的json字符串,不能返回怪异模式的,要不会报错,参考:jQuery dataType指定为json的问题。并且注意这个2个方法不同版本的ext,formpanel并没有,但是baseForm是一定有的,所以formpanel一定要记得调用getForm获取baseForm后再调用这2个方法。{"success": true, data:{"to": "showbo remote", "subject": "hello remote" }}
所有示例基于examples\form下的absform.html,absform.js做了些许改动,将form变量作为window作用域下的变量
var form//window作用域下 Ext.onReady(function() { form = new Ext.form.FormPanel({.....原来的代码
Ext formpanel loadRecord/load方法示例如下
Ext版本3-
<input type="button" onclick="loadRemoteRecord()" value="加载远程记录" /> <input type="button" onclick="loadLocalRecord()" value="加载本地记录" /> <script> function loadRemoteRecord() { form.getForm().load({ url: 'absrecord.js', method: 'get', failure: function () { alert('加载远程记录失败,请检查数据结构') } }); } function loadLocalRecord() { var jsondata = { to: 'showbo local', subject: 'hello local' }; var rm = Ext.data.Record.create(['to', 'subject']); var r = new rm(jsondata); form.getForm().loadRecord(r); } </script>
Ext版本4+
<input type="button" onclick="loadRemoteRecord()" value="加载远程记录" /> <input type="button" onclick="loadLocalRecord()" value="加载本地记录" /> <script> function loadRemoteRecord() { form.getForm().load({ url: 'absrecord.js', method: 'get', failure: function () { alert('加载远程记录失败,请检查数据结构') } }); } function loadLocalRecord() { var jsondata = { to: 'showbo local', subject: 'hello local' }; Ext.define('rm', { extend: 'Ext.data.Model', fields: ['to', 'subject'] }); var r = Ext.create('rm', jsondata); form.getForm().loadRecord(r); } </script>
加支付宝好友偷能量挖...
原创文章,转载请注明出处:Ext formpanel loadRecord/load方法示例