zoukankan      html  css  js  c++  java
  • jquery.form.js+jquery.validation.js实现表单校验和提交

     

    一、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;
        }
    

     

     
     
  • 相关阅读:
    QString 与 string转换
    Lua 判断表是否为空方法
    QT 继承QWidget && 继承QDialog
    QNetworkAccessManager
    Lua语言特色
    Lua逻辑操作符
    Lua语言总结
    Lua 函数
    Lua数据类型
    QT 通过QNetworkReply *获取对应请求的URL地址
  • 原文地址:https://www.cnblogs.com/janes/p/7553137.html
Copyright © 2011-2022 走看看