JSF中使用a4j:commandButton和a4j:jsFunction实现校验,操作后刷新
2016-02-22 13:59
405 查看
转载地址: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();" />
在使用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();" />
相关文章推荐
- < a4j:jsFunction >
- 一个简单的推断抢购时间是否到达的js函数
- js判断浏览器
- JSP自定义标签开发入门
- js获取指定字符前/后的字符串
- js获取select选中的标签option的值
- JSPatch部署JS代码控制OC代码
- javascript监听事件兼容
- MVC解决Json DataGrid返回的日期格式是/Date(20130450000365)
- JS里的{ }大括号和[ ]中括号的用法——看懂JSON结构
- JS异常处理的技巧
- 分享jstl实现分页,类似百度分页
- 【JavaScript 未完】情人节&音乐项目总结
- JavaScript+html5 canvas实现图片破碎重组动画特效
- 三种方法实现js跨域访问
- ECMAScript6
- 关于js跨域Access-Control-Allow-Origin问题
- 在js中获取当前页的记录数;页数;当前页。
- 深入理解JSX
- asp.net常用的javascript经典例子