精华帖 (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在编辑页面中弹出显示出来,如何实现?请高手指导下,谢谢。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间: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是我自己的扩展包名 |
|
返回顶楼 | |
发表时间: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); |
|
返回顶楼 | |
发表时间:2007-08-15
请问一下:提交的目标路径写在什么地方?对应form 表单中的action参数。
|
|
返回顶楼 | |
发表时间:2007-08-15
如果不能获取PHP端处理的结果,怎么知道ACTION之后到底有没有成功呢?
|
|
返回顶楼 | |
发表时间: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}}); } }); |
|
返回顶楼 | |
发表时间:2008-05-08
为何我无论提交成功与否都进入failure呢?
跟踪得知返回的result是每个字段的信息。 为formPanel指定了reader也没有解决问题。 |
|
返回顶楼 | |
发表时间:2008-06-10
服务端要如何写才能使extjs获取到返回值呢?我现在能返回是否成功,但是我想返回更多的参数。
|
|
返回顶楼 | |
发表时间:2008-06-13
mreay 写道 为何我无论提交成功与否都进入failure呢?
跟踪得知返回的result是每个字段的信息。 为formPanel指定了reader也没有解决问题。 这里需要注意的事 你的返回 必须是包含 {success:true,.....}的 否则是无法解析你是正确还是错误, 既后台返回的数据格式是需要我们注意的,一定要json格式,而且必须包含“success:true”,不然不会执行success定义的函数。 这是一个朋友博客上给的提示,相信对你有用 |
|
返回顶楼 | |
发表时间:2008-06-27
如果成功:writer.write("{success:true,info:???}");
如果失败:writer.write("{failure:true,info:???}"); |
|
返回顶楼 | |