layui后台管理系统的坑

  1 <script>
  2 
  3     //公共js页
  4     //修改的iframe 接列表传来的值, 封装好直接调用, 具体是啥意思我也不知道  —_—||
  5     function  GetQueryString(name) {
  6         var  reg = new  RegExp("(^|&)" + name + "=([^&]*)(&|$)");
  7         var  r = window.location.search.substr(1).match(reg);
  8         if(r != null) return   unescape(r[2]);
  9         return  null;
 10     }
 11 
 12     //list:数组
 13     //key:主键名称
 14     //val:组件的值  封装了一个方法, 方便在edit里面取 id, 不用每次都for循环
 15     function getListItemByKey(list, key, val) {
 16         if(list != null) {
 17             for(var i = 0; i < list.length; i++) {
 18                 if(list[i][key] == val) {
 19                     return list[i];
 20                 }
 21             }
 22         }
 23     }
 24 
 25     // list页
 26     function edit(id) {
 27         let obj = getListItemByKey(list, "id", id);
 28         // let title = getListItemByKey(list,"title",title);
 29         // 传输的是中文的话,传到下一页会乱码,需要encodeURI();进行转码
 30         // 两次转码,之后到update页再解码, 由于是传id 在下一页重查, 所以没传, 而且传输大量中文的话容易出现问题
 31         // let title = encodeURI(encodeURI(obj.title));
 32         // console.log(title)
 33         let modelName = '修改信息';
 34         // var timestamp = (new Date()).getTime()/1000;   //由于浏览器相同地址会默认有缓存,加上时间戳变会认为打开的不是同一个网址, 不过layui默认iframe 打开的
 35         // 不是同一个网址, 所以时间戳没用上, 便注释掉了
 36         var url = '../case_update/yj.html?id=' + id;    //传值将id 传到下一页,在下一页重新查询一遍需要修改的信息,显示在页面上
 37         x_admin_show(modelName, url);  // layui自带的方法,用来跳转到哪一页
 38     }
 39 
 40     // update 页
 41     // 调用封装好的方法, 获得上一页欻传来的id
 42     var id = GetQueryString("id");
 43 
 44     $.ajax({
 45         type: 'post',
 46         url: url + '',
 47         dataType: "json",
 48         async: true,
 49         data: {
 50             id: id
 51         },
 52         success: function(data) {
 53             // 由于修改是用form表单提交, 所以要把获取的值放进form表单中
 54             $('input[name="case_id"]').val(data.obj[0].id); // 放入的属性是name=""
 55             $('#title').val(data.obj[0].title); // 放入的属性是id=""
 56         }
 57     });
 58 
 59     //修改图片
 60     var photoes = [];
 61 
 62     $("#photo").change(function() {
 63         var file = this.files[0];
 64         photoes.push(file);
 65         var filereader = new FileReader();
 66         filereader.onload = function(e) {
 67             var base64 = e.target.result;  //转成base64 显示在页面上
 68             $("#photos").append("<img class="appedphoto" src="" + base64 + "" />");
 69         }
 70         filereader.readAsDataURL(file);
 71     });
 72 
 73     $("#upload").click(function() {
 74 
 75         if (photoes.length == 0) {
 76             update_case();
 77             return;
 78         }
 79 
 80         var formData = new FormData(document.getElementById("ff"));  // ff为表单的id
 81 
 82         for (var i = 0; i < photoes.length; i++) {
 83             formData.append("CaseImages", photoes[i]);  // CaseImages 后台图片对应的字段
 84         }
 85 
 86         $.ajax({
 87             type: "post",
 88             url: url + "add",
 89             data: formData, //formData 里面啥都有
 90             dataType: "json",
 91             contentType: false,
 92             processData: false,
 93             success: function () {
 94                 var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
 95                 parent.location.reload(); //刷新列表页, 也就是list页, 是update页的父级
 96                 parent.layer.close(index); //找到当前窗口,关闭当前窗口
 97             }
 98         });
 99     });
100 
101     function update_case() {
102         $.post(url + "update_info.xsh", {
103             id: GetQueryString("id"),
104             case_num: $("#case_num").val(),
105             title: $("#title").val(),
106         },
107         function() {
108             var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
109             parent.location.reload(); //刷新列表页, 也就是list页, 是update页的父级
110             parent.layer.close(index); //找到当前窗口,关闭当前窗口
111         })
112     }
113 
114 
115     //修改时删除已经存好的图片
116     //获得删除的id
117     $(document).on('click', '.del-btn', function() {
118         let id = "'" + $(this).attr('alt') + "'";
119         let index = $(this).parent().parent().index();
120         layer.confirm('确认要删除吗?', function() {
121             //删除
122             $.ajax({
123                 type: 'post',
124                 url: url + 'delete.xsh',
125                 dataType: "json",
126                 async: true,
127                 data: {
128                     id: id
129                 },
130                 success() {
131                     $('tbody tr:eq(' + index + ')').remove();
132                     layer.msg('删除成功', {
133                         icon: 1
134                     });
135                 }
136             });
137         });
138     })
139 
140 </script>
原文地址:https://www.cnblogs.com/wo1ow1ow1/p/11821540.html