branny 2010-05-04 00:02
浏览 290
已采纳

formpanel提交问题

我在做登陆,formpanel(simple)提交成功,后台STRUTS2传递一个用户的json串:
{success:true,list:{"authority":{"authority":1,"authorityname":"管理 员"},"password":"d68e84140e6956552ce2dd8edc2dd627","userid":38,"username":"911911"}}
json串给了一个中间JSP页面,前台页面的另一个formpanel(simple2)如何获得这个串并自动填充进值?代码如下:
[code="java"]Ext.QuickTips.init();
Ext.form.Field.prototype.msgTarget = 'side';
var simple = new Ext.FormPanel({
labelWidth: 75,
frame:true,
hidden:false,
title: '登陆',
bodyStyle:'padding:5px 5px 0',
width: 350,
renderTo:'login',
draggable:true,
defaults: {width: 230},
defaultType: 'textfield',

    items: [{
            fieldLabel: '用户名',
            name: 'username',
            maxLength:10,
            minLength:6,
            allowBlank:false,
            maxLengthText:'用户名长度为6至10位',
            minLengthText:'用户名长度为6至10位',
            blankText:'用户名不能为空'
        },{
            fieldLabel: '密码',
            name: 'password',
            inputType:'password',
            maxLength:12,
            minLength:6,
            allowBlank:false,
            maxLengthText:'密码长度为6至12位',
            minLengthText:'密码长度为6至12位',
            blankText:'密码不能为空'
        }
    ],

    buttons: [{
        text: '登陆',
        disabled:false,
        handler:function(){submit();}
    },{
        text: '取消'
    }]
});
    var _jsonFormReader = new Ext.data.JsonReader({record:"list", successProperty:"@success"}, [{name:"user.userid", mapping:"userid", type:"int"}, {name:"user.username", mapping:"username"}, {name:"user.authorityname", mapping:"authority.authorityname"}]);
    var simple2 = new Ext.FormPanel({
    labelWidth: 75,
    frame:true,
    hidden:false,
    title: '登陆',
    bodyStyle:'padding:5px 5px 0',
    width: 350,
    reader:_jsonFormReader,
    renderTo:'login2',
    draggable:true,
    defaults: {width: 230},
    defaultType: 'textfield',

    items: [{
            fieldLabel: '用户名',
            name: 'user.username',
            maxLength:10,
            minLength:6,
        },{
            fieldLabel: '用户ID',
            name: 'user.userid',
            maxLength:10,
            minLength:6,
        },{
            fieldLabel: '用户权限',
            name: 'user.authorityname',
            maxLength:10,
            minLength:6,
        },
    ]
});
var submit=function(){
    if(simple.form.isValid()){
        simple.form.submit({
            url:'User/login.action',
            success:function(form,action){
            simple2.form.load({url:"'FormAutoLoad",method:'GET',waitMsg:"waiting"});
            },
            failure:function(form,action){
                Ext.Msg.alert('登录错误','用户名密码错误或用户不存在');
            }
        });
    }
};[/code]
  • 写回答

3条回答 默认 最新

  • zhoujuan520 2010-05-04 22:55
    关注

    注意:

     你返回的json对象中的属性名为 username,而你simple表单中对应的组件名称为name: 'user.username', 这样当然匹配不到,名字至少要相同
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效