JSF中使用a4j:commandButton和a4j:jsFunction实现校验,操作后刷新

转载地址:http://blog.sina.com.cn/s/blog_6ecb96380101a7ff.html

在使用JSF时,使用a4j:commandButton的onclick事件和oncomplete事件不能同时使用解决办法。

onclick事件是在提交之前的校验,oncomplete是在提交之后完成后的执行的脚本。

可以使用a4j:commandButton和a4j:jsFunction配合使用,在a4j:commandButton中只做onclick提交前的校验,在a4j:jsFunction中做提交和完成提交后的脚本。

function check(){//提交前校验
    var name = document.getElementByIdx_x_x("addForm:calssficationName").value;
    if(name==''||name==null){
     alert("请输入名称");
     return false;
    }
    saveOk();//校验通过后做操作对应a4j:jsf的name属性
   }

 

function end(){//提交完成后刷新父页面,并且关闭当前页面
    window.opener.document.getElementByIdx_x_x("queryForm:queryBtn").click();
    window.close();
   }


<a4j:commandButton id="saveBtn" styleClass="btn" value="保存"
       onclick="return check();"/>
      <a4j:jsFunction name="saveOk" action="#{mediumTypeDefBean.saveType}" oncomplete="end();" />  

 
 
posted @ 2016-02-15 18:10  huojiao2006  阅读(498)  评论(0)    收藏  举报