论坛首页 Web前端技术论坛

[EXT]请教EXT.FORM提交后的数据返回

浏览 26431 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-07-30  
editForm.addButton('提交', function() {
            if (editForm.isValid()) {
                editForm.submit({
                    params:{
                        action:'submit'                    },
                    waitMsg:'Saving...'
                });
            } else {
                Ext.MessageBox.alert('Errors', 'Please fix the errors noted.');
            }
        }, editForm);


我希望我提交后执行ACTION后,发现错误后返回数据后用MSGBOX在编辑页面中弹出显示出来,如何实现?请高手指导下,谢谢。
   发表时间:2007-07-30  

ExtJava.form.Action.Submit = function(form, options){
    ExtJava.form.Action.Submit.superclass.constructor.call(this, form, options);
};
Ext.extend(ExtJava.form.Action.Submit, Ext.form.Action.Submit, {
    type : 'submit',

    success : function(response){
        this.result = this.processResponse(response);
        if(this.result === true || this.result.success){
            this.form.afterAction(this, true);
            return;
        }
        this.form.afterAction(this, false);
        if(this.result.errors){
			if(this.result.errors instanceof Array){
	            for(var i = 0, len = this.result.errors.length; i < len; i++){
	                var fieldError = this.result.errors[i];
					ExtJava.showError(fieldError.msg);
					break;
	            }
	        }
            this.failureType = Ext.form.Action.SERVER_INVALID;
        }
    }
});

ExtJava是我自己的扩展包名
0 请登录后投票
   发表时间:2007-08-15  
我的作法是這樣..提供給您參考...
	form_employee.addButton('Submit',function(){
		if (form_employee.isValid()){
			Ext.MessageBox.wait('Passing information to PHP, Wait.. ');
			form_employee.submit({
				failure: function(form,action){//如果submit失敗,執行這一個function
					Ext.Message.hide();//這一行是關閉上面的Ext.MessageBox.wait('Passing informatio...
					Ext.Message.alert('Error',action.result.msg);//action.result.msg是Server End的PHP echo的JSON格式 Message
					},//{ success: true||false , msg: '您要顯示的訊息' }
				success: function(form,action){
					Ext.MessageBox.hide();
					Ext.MessageBox.alert('Success',action.result.msg);
					},
	                params : { action : 'submit' }
			});
		}else{
			Ext.Msg.alert('Errors','Your input data haved some problem.. Please Check..');
		}
	},form_employee);
0 请登录后投票
   发表时间:2007-08-15  
请问一下:提交的目标路径写在什么地方?对应form 表单中的action参数。
0 请登录后投票
   发表时间:2007-08-15  
如果不能获取PHP端处理的结果,怎么知道ACTION之后到底有没有成功呢?
0 请登录后投票
   发表时间:2007-08-15  
try {
usersService.save(user);
response.getWriter().print("{success:true,info:'添加成功'}");
} catch (Exception e) {
e.printStackTrace();
response.getWriter().print("{failure:true,info:'" + e.getMessage() + "'}");
}



form_instance_create.submit({
waitMsg:'正在插入数据...',
reset: false,
failure: function(form_instance_create, action) {
Ext.MessageBox.alert('错误提示', action.result.info);
},
success: function(form_instance_create, action) {
Ext.MessageBox.alert('友情提示', action.result.info);
ds.load({params:{start:paging.cursor, limit:myPageSize}});
         }
});
0 请登录后投票
   发表时间:2008-05-08  
为何我无论提交成功与否都进入failure呢?
跟踪得知返回的result是每个字段的信息。
为formPanel指定了reader也没有解决问题。
0 请登录后投票
   发表时间:2008-06-10  
服务端要如何写才能使extjs获取到返回值呢?我现在能返回是否成功,但是我想返回更多的参数。
0 请登录后投票
   发表时间:2008-06-13  
mreay 写道
为何我无论提交成功与否都进入failure呢?
跟踪得知返回的result是每个字段的信息。
为formPanel指定了reader也没有解决问题。





这里需要注意的事 你的返回 必须是包含 {success:true,.....}的 否则是无法解析你是正确还是错误,
后台返回的数据格式是需要我们注意的,一定要json格式,而且必须包含“success:true”,不然不会执行success定义的函数。 这是一个朋友博客上给的提示,相信对你有用
0 请登录后投票
   发表时间:2008-06-27  
如果成功:writer.write("{success:true,info:???}");
如果失败:writer.write("{failure:true,info:???}");
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics