layui表单校验及监听复选框选中状态的坑

19 篇文章 0 订阅
8 篇文章 0 订阅

试过所有的办法,都没有办法获取到复选框的选中状态,整了一早上,最后忽然想到,难道一定要用layui官方文档提供的方式监听吗,用原生js难道就不行了,最后一试竟然成功了,不得不说,js是最强大的。

<div class="myform layui-form">
                        <input type="text" name="use_type" id="person" value="个人" hidden>
                        <div class="layui-form-item">
                            <label class="layui-form-label"><b>*</b>姓名:</label>
                            <div class="layui-input-block  layui-col-md5 layui-col-sm6">
                                <input type="text" name="use_name" id="name" required  lay-verify="username" placeholder="请输入姓名" autocomplete="off" class="layui-input">
                            </div>
                        </div>
                        <div class="layui-form-item">
                            <label class="layui-form-label"><b>*</b>身份证号:</label>
                            <div class="layui-input-block  layui-col-md5 layui-col-sm6">
                                <input type="text" name="use_card" id="card" required  lay-verify="Idcard|identity" placeholder="请输入身份证号" autocomplete="off" class="layui-input">
                            </div>
                        </div>
                        <div class="layui-form-item">
                            <label class="layui-form-label"><b>*</b>密码:</label>
                            <div class="layui-input-block  layui-col-md5 layui-col-sm6">
                                <input type="password" name="use_password"  id="password" required  lay-verify="password|passval" placeholder="请输入密码" autocomplete="off" class="layui-input">
                            </div>
                        </div>
                        <div class="layui-form-item">
                            <label class="layui-form-label"><b>*</b>确认密码:</label>
                            <div class="layui-input-block  layui-col-md5 layui-col-sm6">
                                <input type="password" name="use_repassword" id="repassword" required  lay-verify="rePass" placeholder="请再次输入密码" autocomplete="off" class="layui-input">
                            </div>
                        </div>
                        <div class="layui-form-item">
                            <label class="layui-form-label"><b>*</b>详细地址:</label>
                            <div class="layui-input-block layui-col-md5 layui-col-sm6">
                                <select name="use_address"  id="provice" lay-verify="address"   style="width: 49%;">
                                    <option value="">请选择所在省/市</option>
                                    <option value="0">北京</option>
                                    <option value="1">上海</option>
                                    <option value="2">广州</option>
                                    <option value="3">深圳</option>
                                    <option value="4">杭州</option>
                                </select>
                                <select name="use_adddress"  id="city" lay-verify="address" >
                                    <option value="">请选择所在市/区</option>
                                    <option value="0">北京</option>
                                    <option value="1">上海</option>
                                    <option value="2">广州</option>
                                    <option value="3">深圳</option>
                                    <option value="4">杭州</option>
                                </select>
                                <textarea name="use_address"  id="detailaddress" placeholder="请输入详细地址" lay-verify="address" class="layui-textarea"></textarea>
                            </div>
                        </div>
                        <div class="layui-form-item">
                            <label class="layui-form-label"><b>*</b>手机号码:</label>
                            <div class="layui-input-block  layui-col-md5 layui-col-sm6">
                                <input type="text" name="use_telephone" id="telephone" required  lay-verify="telephone|phone" placeholder="请输入手机号码" autocomplete="off" class="layui-input">
                            </div>
                        </div>
                        <div class="layui-form-item ">
                            <label class="layui-form-label"><b>*</b>验证码:</label>
                            <div class="layui-input-block  layui-col-md5 layui-col-sm6 ">
                                <input type="text" name="use_vcode" id="vcode" required  lay-verify="code" placeholder="请输入验证码" autocomplete="off" class="myInput" >
                              <a href="#">  <input type="button"  class="mybtn" value="获取手机验证码"/></a>
                            </div>
                        </div>
                        <div class="layui-form-item  layui-col-md5 layui-col-md-offset2  layui-col-sm-offset3">
                            <input type="checkbox"  name="protocol"  value="0" id="key_service" lay-skin="primary"  lay-verify="check" title="创建网站账号的同时,我同意遵守:">
                            <p style="padding-left:20px"><a href="#"><b>《服务条款》</b></a>及<a hrefe="#"><b>《隐私声明》</b></a></p>

                        </div>
                        <div class="layui-form-item  layui-col-md-offset2 layui-col-sm-offset3" >
                            <div class="layui-input-block layui-col-md5  layui-col-sm6">
                                <button class="layui-btn" lay-submit lay-filter="formDemo" style="background: #ff6666;width: 100%;">同意并注册</button>
                            </div>
                        </div>
                    </div>
layui.use(['layer','form','laydate'], function(){
    var form = layui.form,laydate=layui.laydate,layer=layui.layer;
    var $=layui.$;
    form.render();
/*对前台信息进行校验*/
    form.verify({
       username:function (value,item) {
           if(value==""){
               return "请输入真实姓名";
           }
       },
        Idcard:function (value,item) {
           if(value==""){
               return "请输入身份证号"
           }

        },
        password:function (value,item) {
           if(value==""){
               return "请输入密码"
           }
        },
        passval:[
            /^[\S]{6,12}$/
            ,'密码必须6到12位,且不能出现空格'
        ],
        rePass:function (value,item) {
           if(value!=$("#password").val()){
               return "两次输入的密码不一致"
           }
        },
        address:[
            /[\S]+/,
            '请选择并输入详细地址'
        ],
        telephone:[
            /[\S]+/,
            '请输入电话号码'
        ],
        code:[
            /[\S]+/,
            '请输入验证码'
        ],check:function () {
            var checked=document.getElementById("key_service");
            if(checked.checked==false){
                layer.msg("请勾选协议",{icon:5,time:2000,anim: 6})
            }
        }


    });
    //监听提交
    form.on('submit(formDemo)', function(data){

                $.ajax({
                    url:'test.html',
                    method:'post',
                    data:data.field,
                    dataType:'JSON',
                    success:function (res) {
                        if(res.code='0'){
                            parent.closeIframe(res.msg);
                        }else{
                            alert(res.msg);
                        }
                    },
                    error:function (data) {

                    }
                });
                //return false;

       // layer.msg(JSON.stringify(data.field));
        return false;
    });
});

在form.verify中定义的规则,直接在表单中lay-filter中引用就可以了,例如:

<input type="password" name="use_password"  id="password" required  lay-verify="password|passval" placeholder="请输入密码" autocomplete="off" class="layui-input">
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值