如题
用struts2+extjs2.2做的界面显示(没Spring)本来不熟悉这个,领导要做demo,只好叫我这个做测试的现在来开发。问题这样:struts的action返回了如下数据:
{"ajaxResult":"success","jsonItems":[{"username":"李主任","state":"1","userid":"131000000000000001","depid":CC0320","type":"0"}]}然后我调用extjs写的js脚本,相关内容如下:Ext.onReady(function() {
...... var infostore=new Ext.data.JsonStore({
url:'../gridShow/userInfoDisplay.action',
root:'jsonItems',
fields:['userid','type','state','depid','username']
});
infostore.load(); var fieldArray = [ 'userid','type','state','depid','username'];
var simpleForm = new Ext.FormPanel({
store:infostore,
renderTo : document.body,
labelAlign : 'left',
title : '人员基本信息',
buttonAlign : 'right',
border : false,// 没有边框
frame : true,
fill : true,
labelWidth :0,
reader :new Ext.data.JsonReader( {
successProperty: 'ajaxResult',
root :'store'
}, fieldArray), ....
....问题如下:这是一个从数据库获取用户信息并展示在web页面上的表单
我用FireBug确信action已经返回json数据给前端,内容如开头一样,但是
1、我无法打印解析出来的数据,用Dialog对话框打印值总是显示 object:object
2、如何保存Json传回来的数据?
3、如何将获取的数据给每个TextField赋值?就是如何在表单上显示数据库信息?我查了无数的帖子,没有一个适用的脸上起了无数的痘痘,5555555555555555555555555555555555.
用struts2+extjs2.2做的界面显示(没Spring)本来不熟悉这个,领导要做demo,只好叫我这个做测试的现在来开发。问题这样:struts的action返回了如下数据:
{"ajaxResult":"success","jsonItems":[{"username":"李主任","state":"1","userid":"131000000000000001","depid":CC0320","type":"0"}]}然后我调用extjs写的js脚本,相关内容如下:Ext.onReady(function() {
...... var infostore=new Ext.data.JsonStore({
url:'../gridShow/userInfoDisplay.action',
root:'jsonItems',
fields:['userid','type','state','depid','username']
});
infostore.load(); var fieldArray = [ 'userid','type','state','depid','username'];
var simpleForm = new Ext.FormPanel({
store:infostore,
renderTo : document.body,
labelAlign : 'left',
title : '人员基本信息',
buttonAlign : 'right',
border : false,// 没有边框
frame : true,
fill : true,
labelWidth :0,
reader :new Ext.data.JsonReader( {
successProperty: 'ajaxResult',
root :'store'
}, fieldArray), ....
....问题如下:这是一个从数据库获取用户信息并展示在web页面上的表单
我用FireBug确信action已经返回json数据给前端,内容如开头一样,但是
1、我无法打印解析出来的数据,用Dialog对话框打印值总是显示 object:object
2、如何保存Json传回来的数据?
3、如何将获取的数据给每个TextField赋值?就是如何在表单上显示数据库信息?我查了无数的帖子,没有一个适用的脸上起了无数的痘痘,5555555555555555555555555555555555.
解决方案 »
- jquery使DIV处于最上层
- 求助,js正则问题
- 给父页面div的innerText赋值问题
- 在js中,怎么把一个table中的所有value值添加到一个变量中?
- 我遇见的一个奇怪的问题,大家帮我看看吧?
- 谁能把<form 提交到一个iframe中,而不是frameset中。
- 请问如何确保一个网页总是被装入顶层窗口,而不是某个frame中,即使它是在该frame中被请求的?
- 大虾们:怎么用js写xml文件,但不覆盖以前的内容?
- 这样的问题难吗?孟老师给个实例好不好
- 请问如何是弹出的窗口没有关闭的按钮。非最大化状态下
- 新手问一个回车响应的问题
- 请问现在有专门培训JavaScript和JQuery的地方吗?
var simpleForm = new Ext.form.FormPanel({
defaultType:'textfield',
renderTo:document.body,
items:[
{name:'username', fieldLabel:'用户名'},
{name:'state', fieldLabel:'state'},
{name:'userid', fieldLabel:'用户ID'},
{name:'depid', fieldLabel:'depid'},
{name:'type', fieldLabel:'类型'}
],
store:new Ext.data.JsonStore({
url:'../gridShow/userInfoDisplay.action',
root:'jsonItems',
fields:['userid','type','state','depid','username']
}),
buttons:[
{text:'加载',handler:function(b){
var form = b.findParentByType('form');
form.el.mask('数据加载中');
form.store.load({
callback:function(r){
if(r.length > 0)form.getForm().loadRecord(r[0]);
form.el.unmask();
form = null;
}
});
}}
]
});简单地写了一个,测试没问题,环境是ext3,应该和2差不多吧。关键点:
1.form表单配置时各个元素与store的fields一一对应。
2.store的load函数可以有个参数,参数配置请看文档。
参数是个对象,如果配置了callback属性,并且该属性是个函数,那么会在load完毕后调用该方法。
该方法有3个参数,一般常用第一个,后几个很少用,第一个是本次load加载的record集合,一个数组。
3.在回调函数中用form.getForm()获取form的BasicForm并调用其loadRecord方法加载回调函数第一个参数的第一个record。你的json有误
{"ajaxResult":"success","jsonItems":[{"username":"李主任","state":"1","userid":"131000000000000001","depid":CC0320","type":"0"}]}在CC0320前面少了一个"