加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 00:54:57 所属栏目:百科 来源:网络整理
导读:原文地址http://winnerlxh.iteye.com/blog/770410 ModalPanel在有Ajax刷新请求的时候,一般会关闭,比如验证错误的时候 我自己的解决办法是让ModalPanel的现实与否不与JS有关,完全用conversation中的某个变量想关联,这样当一个ModalPanel显示以后,无论什

原文地址http://winnerlxh.iteye.com/blog/770410

ModalPanel在有Ajax刷新请求的时候,一般会关闭,比如验证错误的时候 我自己的解决办法是让ModalPanel的现实与否不与JS有关,完全用conversation中的某个变量想关联,这样当一个ModalPanel显示以后,无论什么Ajax刷新请求都不回让ModalPanel关掉,除非我让他关掉 网上还有两种解决方案,现列举如下。 第一种方法: <ui:define name="body"> <f:verbatim> <a href="javascript:Richfaces.showModalPanel('_panel',{left:'auto',top:'auto'})"> Show Modal Panel </a> </f:verbatim> <rich:modalPanel id="_panel"> <f:facet name="header"> <h:outputText value="test"></h:outputText> </f:facet> <h:form id="mpform"> <a4j:outputPanel ajaxRendered="true"> <h:messages id="error"></h:messages> </a4j:outputPanel> <h:inputText value="#{bean.property}" required="true"></h:inputText> <a4j:commandLink value="click" oncomplete="windowclose();" reRender="test" ></a4j:commandLink> </h:form> </rich:modalPanel> <script type="text/javascript"> //<![CDATA[ function windowclose(){ if (document.getElementById('mpform:error')==null){ Richfaces.hideModalPanel('_panel'); }; }; //]]&; </script> </ui:define> 这种方法的思想是,在关闭ModalPanel的时候判断是否有message在里面,如果没有,就关掉,如果ModalPanel里面有message,就让它继续显示着。 第二种方法: 这种方法的前提是,使用Facelets 在模板里面增加这段代码: <a4j:outputPanel ajaxRendered="true"> <h:form style="display:none" prependId="false"> <h:inputHidden id="maximumSeverity" value="#{facesContext.maximumSeverity.ordinal}"/> </h:form> </a4j:outputPanel> 然后在你需要加ModalPanel的页面增加以下这段JS代码: function ajaxRequestContainsErrors() { return document.getElementById("maximumSeverity").value == "2"; } 作用是检查是否包含错误消息 最后在具体的连接或者按钮上增加相应的处理事件: <a4j:commandButton value="Save" action="#{myController.save}" oncomplete="if (!ajaxRequestContainsErrors()) Richfaces.hideModalPanel('myModalPanelId');"/>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读