三天两夜纠结在这简单extjs问题上,程序员妹纸求救ing

qszxzm 2013-01-18 01:12:48
如题
用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.。。。。。。。。。。。。
...全文
134 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
likeajin 2013-01-18
  • 打赏
  • 举报
回复

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前面少了一个"

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧