|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2007-07-30 关键字: ext
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在编辑页面中弹出显示出来,如何实现?请高手指导下,谢谢。 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间: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:???}"); |
|
| 返回顶楼 | |





