首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

RichFaces中怎么让ModalPanel在Ajax验证有异常时不关闭

2012-09-08 
RichFaces中如何让ModalPanel在Ajax验证有错误时不关闭RichFaces中如何让ModalPanel在Ajax验证有错误时不

RichFaces中如何让ModalPanel在Ajax验证有错误时不关闭
RichFaces中如何让ModalPanel在Ajax验证有错误时不关闭(如必填项未填,验证器验证不通过等),验证通过了才关闭,我的解决方法如下:

第一:后台action类里面声明一变量用来控制是否关闭modalPanel
private String hideModalPanel;//加上getter、setter方法
第二:在前台按钮加上oncomplete="#{action.hideModalPanel}",当我们触发按钮提交后会触发oncomplete事件,若验证未通过则不会执行action方法,则hideModalPanel默认为null,故modalPanel不会关闭,若验证通过,则会执行action方法,我们可在action方法里面设置(当然你也可以在action再加验证,自己可控制)
setHideModalPanel("Richfaces.hideModalPanel('modalPanel的id')");
当action方法执行完成,则会执行oncomplete="#{action.hideModalPanel}",此时hideModalPanel的值为Richfaces.hideModalPanel('modalPanel的id')了,故modalPanel会关闭。

总结:主要是利用oncomplete事件(The client-side script method to be called after the request is completed),当action请求完成后触发,利用这种机制我们可轻松实现上面问题,当然oncomplete事件用处很广泛,后续我会继续探讨。 很好,这样以后更好维护了,复用性不错。

热点排行