一、jquery引用

主要用到3个js:
jquery.js
jquery.form.js
jquery.validation.js
另外,为了校验结果提示本地化,还需要引入jquery.validate对应的mesage_zh.js。
这个几个文件的地址就不一一整理了,可以在官网上去下载,也可以在CathyCMS项目中拷贝。
 

二、html页面

权限管理的新增角色页面,不考虑资源树部分的话,这个页面的内容和交互比较简单,我们就以这个页面为例,看下怎么实现表单校验和异步提交。
 <form id="myForm" class="form-horizontal"  th:object="${role}">
<input type="hidden" th:field="*{roleId}">
<fieldset>
<div class="control-group">
<label class="control-label" for="name">角色名称</label>
<div class="controls">
<input type="text" class="input-xlarge" th:field="*{name}">
</div>
</div>
<div class="control-group">
<label class="control-label" for="description">角色描述</label>
<div class="controls">
<textarea class="input-xlarge" th:field="*{description}" rows="3"></textarea>
</div>
</div>
<div class="control-group">
<label class="control-label" for="select01">Client</label>
<div class="controls">
<select id="select01">
<option>-- Select client --</option>
<option>Bad Robot</option>
<option>Evil Genius</option>
<option>Monsters Inc</option>
</select>
</div>
</div>
<div class="form-actions">
<button type="submit" class="btn btn-primary">保存</button>
<button class="btn">返回列表</button>
</div>
</fieldset>
</form>

  

三、表单校验部分脚本

这个页面要求角色名称必填,如果校验不合格在当前页面给出提示;如果校验合格就提交ajax请求。
 
<script type="text/javascript">
$.validator.setDefaults({
submitHandler: function(form) {
$(form).ajaxSubmit({
url:"[[@{/role/save}]]",
type:"post",
dataType:"json",
success:function(json){
if(json!=null&&json.returncode==0){
window.location.href="[[@{/role/list}]]";
}else{
alert("保存失败");
}
}
});
}
}); $().ready(function () {
$("#myForm").validate({
rules: {
name: "required"
},
messages: {
name: "请输入角色名称"
}
});
});
</script>

  

四、后台action

@RequestMapping("/save")
@ResponseBody
public JsonResult save(CmsRole role){
JsonResult jsonResult=new JsonResult(){{
setReturncode(-1);
setMessage("保存失败");
}}; int result;
if(role.getRoleId()==null||role.getRoleId()==0){
result=roleService.insert(role);
}else{
result=roleService.update(role);
} if(result>0){
jsonResult.setReturncode(0);
jsonResult.setMessage("保存成功");
} return jsonResult;
}

 

 
 

jquery.form.js+jquery.validation.js实现表单校验和提交的更多相关文章

  1. 使用jQuery.form插件,实现完美的表单异步提交

    传送门:异步编程系列目录…… 时间真快,转眼一个月快结束了,一个月没写博客了!手开始生了,怎么开始呢…… 示例下载:使用jQuery.form插件,实现完美的表单异步提交.rar 月份的尾巴,今天的主 ...

  2. JQuery插件使用之Validation 快速完成表单验证的几种方式

    JQuery的Validation插件可以到http://plugins.jquery.com/上去下载.今天来分享一下,关于这个插件的使用. 简易使用 这第一种方式可谓是傻瓜式的使用,我们只需要按照 ...

  3. js的作用是临时修改 表单Action提交的地址,因为 又有新的动作需要把表单参数提交到 新的servlet中,这点很重要

    JavaScript可以临时修稿 form表单的提交地址

  4. jquery.form.js 使用以及问题(表单异步提交)

    标注:我引用的js后报错 原因:是引用的js有冲突 我引用了两便jQuery: 转载:https://blog.csdn.net/cplvfx/article/details/80455485 使用方 ...

  5. 使用jQuery,实现完美的表单异步提交

    jQuery异步提交表单 <form id="form1" method="post"> <table border="1" ...

  6. jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jquery筛选方法

    jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jq ...

  7. jQuery常用插件与jQuery使用validation插件实现表单验证实例

    jQuery常用插件 1,jQuery特别容易扩展,开发者可以基于jQuery开发一些扩展动能 2,插件:http://plugins.jquery.com 3,超厉害的插件:validation . ...

  8. jQuery的validation插件(验证表单插件)

    更完整的参考:http://www.runoob.com/jquery/jquery-plugin-validate.html 验证隐藏字段的使用(验证通过后ajax提交表单):http://www. ...

  9. js阻止form表单重复提交

    防止表单重复提交的方法总体来说有两种,一种是在js中阻止重复提交:另一种是在后台利用token令牌实现,大致思路是生成一个随机码放到session和form表单的隐藏输入框中,提交表单时两者对比,表单 ...

随机推荐

  1. angular1与swiper

    angular1路由切换过程中swiper不能使用. 问题1:在刚开始使用angular1的路由时,好多人会将swiper的初始化写在模板的父控制器上,这样会造成一个问题,swiper的初始化只在页面 ...

  2. 分享一个.NET加密工具NetEncryptor v2.1.6(破解版)

    在国外论坛闲逛,无意间看到一个.NET 加密工具.看了官网的介绍,感觉挺有意思,于是下载下来研(破)究(解)了一番. 官网地址:http://www.infralution.com/products/ ...

  3. parameterType 和 resultType

    parameterType #{} 和 ${} 1.#{}实现的是向prepareStatement中的预处理语句中设置参数值,sql语句中#{}表示一个占位符即?. 2.使用占位符#{}可以有效防止 ...

  4. Fastify 系列教程二 (中间件、钩子函数和装饰器)

    Fastify 系列教程: Fastify 系列教程一 (路由和日志) Fastify 系列教程二 (中间件.钩子函数和装饰器) 中间件 Fastify 提供了与 Express 和 Restify ...

  5. LeetCode 380. Insert Delete GetRandom O(1) (插入删除和获得随机数 常数时间)

    Design a data structure that supports all following operations in average O(1) time. insert(val): In ...

  6. jQrid常用操作(转帖)

    转自: http://blog.csdn.net/zhcj3672/article/details/6944955 JqGrid相关操作备忘 方法列表 1.获得当前列表行数: $("#gri ...

  7. 使用prettytable美化python的print输出

    经常碰到需要将一些数据用表格形式输出来.自己手动写太麻烦. 用prettytable能很好解决这个问题. ...(未完)

  8. ssh: connect to host master port 22: Connection refused

    hadoop集群启动的时候namenode显示Connection refused 到windows下ping  master 显示传输中过期 ip是静态的 ssh master 也是连接拒绝 重启s ...

  9. jQuery插件实现瀑布留布局masonry + infinitescroll 图片高度处理

    jQuery插件实现瀑布留布局masonry + infinitescroll . 使用官方的示例代码实际测试发现,当上传到服务器的时候,由于图片下载速度问题,导致图片高度不能被正确识别,从而造成层的 ...

  10. wx:for修改样式

    在获取文字识别数据之后,对数据进行wx:for循环加了边框如图效果: 需求:点击不同边框获取不同文字,再次点击取消选中:选中背景为#999: <view wx:for="{{img_d ...