liaoboisyj 2011-03-22 09:49
浏览 238
已采纳

关于Extjs Form提交的问题。

大家好,我这两天在调试一个Extjs form提交的时候,碰到了奇怪的问题,源代码如下:
Ext.onReady(function(){
var form = new Ext.form.FormPanel({
title:"用户注册",
width:600,
autoHeight:true,
labelAlign:"left",
labelWidth:60,
defaults:{xtype:"textfield"},
url:"admin/index.action",
listeners:{
"actioncomplete":function(_form,_action){
alert("OK");
},
"beforeaction":function(_form,_action){
alert("Submit");
}
},
items:[{
fieldLabel:"用户名",
name:"username"

},{
fieldLabel:"密码",
name:"password"
},{
fieldLabel:"重复密码"
},{
fieldLabel:"Email"
}],
renderTo:Ext.getBody(),
buttons:[{
text:"提交",
handler:function(){
form.getForm().submit();
}
},
{
text:"取消",
}
]
})
});

在提交时,事件beforeaction是可以触发的。但是,当服务器端的响应回来后,不能触发actioncomplete事件。不知是何原因。我还做过其它几个提交方法;如:
form.getForm().submit({
url:"http://localhost:8888/TestStruts2AndExtjs/admin/index.action",
method:"post",
success:function(form,action){
Ext.Msg.alert("友情提示","注册成功");
},
failure:function(form,action){
Ext.Msg.alert("友情提示","Sorry!注册失败");
}
});
都只能传数据到后台,都不能,在返回结果后,触发事件。

  • 写回答

3条回答 默认 最新

  • lizhiyezi 2011-03-22 11:58
    关注

    formPanel 表单提交返回的数据 需要一定规则的,
    返回json数据需要有 sucess 属性表示 成功或者失败。

    参考 Ext.form.Action.Submit 函数
    [code="java"]success : function(response){
    var result = this.processResponse(response);
    if(result === true || result.success){
    this.form.afterAction(this, true);
    return;
    }
    if(result.errors){
    this.form.markInvalid(result.errors);
    this.failureType = Ext.form.Action.SERVER_INVALID;
    }
    this.form.afterAction(this, false);
    },[/code]

    所以跟平常ajax提交返回数据格式有点不一样的
    {sucess:true,.....}

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配