tp5和layui表单提交多选复选框checkbox及输入框
未知
2024-04-09 14:45:31
0
<form class="layui-form layui-form-pane" >
<div class="layui-form-item">
   <label class="layui-form-label" >组名称</label>
   <div class="layui-input-block">
       <input type="text" name="typename" lay-verify="required" class="layui-input" >
   </div>
</div>
<div class="layui-form-item">
    <div class="layui-input-block">
        <input type="checkbox" name="purview[]" lay-skin="primary" title="管理员页面" value="admin/index" {php} if(in_array('admin/index',$str_arr))echo 'checked'; {/php}>
        <input type="checkbox" name="purview[]" lay-skin="primary" title="添加管理员页面" value="admin/adduser" {php} if(in_array('admin/adduser',$str_arr))echo 'checked'; {/php}>
        <input type="checkbox" name="purview[]" lay-skin="primary" title="执行添加管理员" value="admin/insertuser" {php} if(in_array('admin/insertuser',$str_arr))echo 'checked'; {/php}>
    </div>
</div>
</form>
第一条办法:
<script type="text/javascript">
        layui.use(['form'],function(){
            var form=layui.form;
            //监听提交事件
            form.on('submit(myform)',function(obj){
                var purview = [];
                $('input[type=checkbox]:checked').each(function() {
                    purview.push($(this).val());
                });                
                typename=obj.field.typename;
                var json = {'purview':purview,'typename':typename};
                fields=JSON.stringify(json);

         
                $.ajax({
                    url:"__MODULE__/admintype/insert",
                    type:"post",
                    data:{'val':fields},
                    beforeSend:function(){
                        loading=layer.load(1,{shade:[0.4,'#000']})
                    },success:function(data){           
                        layer.close(loading);
                        if(data.code==1000){
                            layer.msg(data.msg,{icon:1})
                            location.href="__URL__/index";
                        }else{
                            layer.msg(data.msg,{icon:2});
                        }
                    }
                })
                return false;
            })
        })
    </script>
第二各办法:
layui.use(['form'],function(){
            var form=layui.form;
       
            form.on('submit(myform)',function(obj){
                    //获取checkbox数据
                quotation = new Array();//设置空数组
                $("input:checkbox[name='purview']:checked").each(function(){

                    //数组中追加元素
                   quotation.push($(this).val());
                });

                 //设置空json
                var jsonDe = {};
                for (var i = 0; i < quotation.length; i++) {
                   jsonDe[i] = quotation[i];
                }
                //把json对象转换成字符串
                let myJson = JSON.stringify(jsonDe);
                //给obj.field赋值,以便传入后台。注意赋值idmail和html中多选的name=‘
purview’。purview键和下方的idemail键会一同传入后台数组。idemail字段在数据库中,purview只是临时用作传值,后台需要删除unset()这个键,否则数据库没有这个字段提示错误。
                obj.field.
idemail = myJson ;
                fields=JSON.stringify(obj.field);
           
                $.ajax({
                    url:"__URL__/insertMember",
                    type:"post",
                    data:{val:fields},
                    beforeSend:function(){
                        loading=layer.load(1,{shade:[0.3,'#000']});
                    },success:function(data){
                        console.log(data);
                        // return false;
                        layer.close(loading);
                        if(data.code==1000){
                            layer.msg(data.msg,{icon:1});
                            location.href="__URL__/index";
                        }else{
                            layer.msg(data.msg,{icon:2});
                        }

                    }

                })
                return false;

            });
           
        })
后台处理:
        if(request()->isPost()){
            $request_m=json_decode(htmlspecialchars_decode(input('val')),true);           
       
            $request_m['idemail']=implode(',',json_decode($request_m['idemail'],true));
           
            unset($request_m['purview']);   
            //执行db即可
         }


相关内容

巴西音乐人邀请西安外事鼓乐...
巴西音乐家与西安外事鼓乐团合作,共谱文化交响,融合东西方音乐元素,...
2024-11-20 21:23:35
Kubernetes在云服...
Kubernetes性能优化策略包括:资源合理分配、节点自动扩展、...
2024-11-20 16:00:41
PHP与SQLSRV数据库...
摘要:本文介绍了PHP与SQLSRV数据库迁移的步骤和注意事项,包...
2024-11-20 11:46:42
全文索引在MySQL中的应...
全文索引是MySQL用于文本搜索的重要工具,支持高效关键词搜索,适...
2024-11-20 07:46:43
MySQL中主键索引的作用...
MySQL中主键索引是保障数据唯一性、完整性的关键工具,可快速查询...
2024-11-20 06:23:36
MySQL索引的优点和缺点...
摘要:MySQL索引是提升数据库性能的关键技术,其优点包括快速检索...
2024-11-20 05:23:38

热门资讯

JavaScript获取当前协... JavaScript获取当前协议,域名,路径
解决Phpcms V9手机门户... 第一步:开启手机网站。位置:模块 》手机门户 》 添加手机站点,如果模块里面没有手机门户,那么就在模...
layui tooltip提示... 在layui表单中,我们想把一个标签做出提示,以标明这个表单元素是做什么有什么功能时,就可以用上提...
layui中出错Unexpec... layui中出错Unexpected identifier
如何在html中禁止复制文字 问题描述: 如何禁止别人复制自己的文章? 解决办法: 在body标签中添加以下代码: onconte...
JS实现html打印功能,打印... !DOCTYPE htmlhtmlhead meta charset=utf-8 title打印功能...
bootstrap 图片文字居... 问题描述: 让图片和文字居中显示。 解决办法: !-- style--.navbars img{ m...
bootstrap图片排版布局 问题描述: 在使用bootstrap的时候,出现了这样的问题。 排版对不齐。 解决办法: 通过上图发...
手机端底部定位 问题描述: 需要实现的效果 解决办法: !-- 底部 -- div class=layui-row ...