HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: //www/备份的/bb.cwoyt.com/套餐餐.php
 
 
 
 
 <script src="/layui/layui.js" charset="utf-8"></script>
 
  <link rel="stylesheet" href="/layui/css/layui.css"  media="all"> 


                              <div class="layui-upload-drag" id="test10" style="width:80px;height:80px" onclick="">
                                        <!--<i class="layui-icon"></i>-->
                                        <p>点击上传</p>
                                        <div class="layui-hide" id="uploadDemoView">
                                            <hr>
                                            <img src="" alt="上传成功后渲染" style="max-width: 50px">
                                            <input type="hidden" name="thumb" value="" id="tupian">
                                        </div>
                                    </div>

  <div class="layui-upload-drag" id="test11" style="width:80px;height:80px">
                                        <!--<i class="layui-icon"></i>-->
                                        <p>点击上传</p>
                                        <div class="layui-hide" id="uploadDemoView">
                                            <hr>
                                            <img src="" alt="上传成功后渲染" style="max-width: 50px">
                                            <input type="hidden" name="thumb" value="" class="tupian">
                                        </div>
                                    </div>


                                    <script type="text/javascript" th:inline="javascript">
                                        layui.use(['upload', 'element', 'layer'], function () {
                                            var $ = layui.jquery
                                                , upload = layui.upload
                                                , element = layui.element
                                                , layer = layui.layer;


                                            //拖拽上传
                                            upload.render({
                                                elem: '#test10'
                                                , url: 'https://dd.cwoyt.com/upload2.php' //此处用的是第三方的 http 请求演示,实际使用时改成您自己的上传接口即可。
                                                , done: function (res) {
                                                    if (res.code == 0) {
                                                        layer.msg('上传成功');
                                                        layui.$('#uploadDemoView').removeClass('layui-hide').find('img').attr('src', res.data.src);
                                                        console.log(res)

                                                        $('#tupian').attr('value', res.data.src);
                                                    } else {
                                                        layer.msg('上传失败');
                                                        return false;
                                                    }


                                                }
                                            });



                                        });
                                    </script>
                                            <script type="text/javascript" th:inline="javascript">
                                        layui.use(['upload', 'element', 'layer'], function () {
                                            var $ = layui.jquery
                                                , upload = layui.upload
                                                , element = layui.element
                                                , layer = layui.layer;


                                            //拖拽上传
                                            upload.render({
                                                elem: '#test11'
                                                , url: 'https://dd.cwoyt.com/upload2.php' //此处用的是第三方的 http 请求演示,实际使用时改成您自己的上传接口即可。
                                                , done: function (res) {
                                                    if (res.code == 0) {
                                                        layer.msg('上传成功');
                                                        layui.$('#uploadDemoView').removeClass('layui-hide').find('img').attr('src', res.data.src);
                                                        console.log(res)

                                                      $('#test11 .tupian').attr('value', res.data.src);
                                                    } else {
                                                        layer.msg('上传失败');
                                                        return false;
                                                    }


                                                }
                                            });



                                        });
                                    </script>    











<!DOCTYPE html>
<html>
<head>
 <title>Html5 Ajax 上传文件</title>
 <meta charset="utf-8">
<script type="text/javascript">
 var xhr;
 function createXMLHttpRequest()
 {
 if(window.ActiveXObject)
 {
 xhr = new ActiveXObject("Microsoft.XMLHTTP");
 }
 else if(window.XMLHttpRequest)
 {
 xhr = new XMLHttpRequest();
 }
 }
 function UpladFile()
 {
 var fileObj = document.getElementById("file").files[0];
 var FileController = 'https://dd.cwoyt.com/upload1.php';
 var form = new FormData();
 form.append("myfile", fileObj);
 createXMLHttpRequest();
 xhr.onreadystatechange = handleStateChange;
 xhr.open("post", FileController, true);
 xhr.send(form);
 }
 function handleStateChange()
 {
 if(xhr.readyState == 4)
 {
 if (xhr.status == 200 || xhr.status == 0)
 {
 var result = xhr.responseText;
 var json = eval("(" + result + ")");
//  alert('/images/'+json.file);
	$('#tupian').attr('value', json.file);
   $('#tupian').attr('src', json.file);
 }
 }
 }
</script>
<style>
 .txt{ height:28px; border:1px solid #cdcdcd; width:0px;opacity:0}
 .mybtn{ background-color:#FFF; line-height:14px;vertical-align:middle;border:1px solid #CDCDCD;height:30px; width:70px;}
 .file{ position:absolute; top:0; right:80px; height:24px; filter:alpha(opacity:0);opacity: 0;width:260px }
</style>
</head>
<body>
<div class="form-group">
   <input type="image" name="" id="tupian" value=""  src="" style="width:50px;height:50px"/>
 <input type='text' name='textfield' id='textfield' class='txt' />
 <span onclick="file.click()" class="mybtn">浏览...</span>
 <input type="file" name="file" class="file" id="file" size="28" onchange="document.getElementById('textfield').value=this.value" />
 <span onclick="UpladFile()" class="mybtn" style="cursor: pointer;">上传</span>

</div>
</body>
</html>

 
 
 
 
 
 
 
 
 
 
 
 
 
 	<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>jQuery图片上传拖拽排序代码 </title>

<link href="/taocan/layui/css/layui.css" rel="stylesheet">
<link href="/taocan/css/bootstrap.min.css" rel="stylesheet">
<style>
	.upload-btn {
		width: 40px;
		height: 100%;
		cursor: pointer !important;
		position: relative;
		background: url("/taocan/images/upload.png") no-repeat #007bff;
		-webkit-background-size: cover;
		background-size: cover;
		border: 1px solid #ced4da;
		border-left: none;
		border-radius: 0 0.25rem 0.25rem 0;
	}

	.upload-btn .upload-img {
		position: absolute;
		right: 0;
		top: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
		cursor: pointer !important;
	}

</style>

</head>
<body>

<div class="container" id="app">
<div class="row">
	<div class="col-md-12">
		<!--<form class="" action="upload.php" method="POST">-->
			<div class="card">
				<div class="card-body">
					<table class="table">
						<thead>
						<tr>
							<th width="30%">名称</th>
							<th width="50%">图片</th>
							<th width="20%">操作</th>
						</tr>
						</thead>
						<tbody id="tbody-items">
						<tr v-for="(v,i) in items" class="tr-item">
							<td>
								<div class="input-group">
									<input type="text" class="form-control" name="name"  value="" placeholder="套餐名称">
								</div>
							</td>
						 
							<td>
							 
					<input class="upload-img" type="file" name="file"  @change="upload($event, i)">		 
			 
		 <input type="image" class="preview-img" :id="'preview-img-' + (i + 1)" src="v.pic" height="36"  width="36"    value="v.pic"  @change="upload($event, i)">
												 
		<!--<input type="hidden" class="preview-img" :id="'preview-img-' + (i + 1)"-->
												<!-- value="v.pic"  >	 -->
							 
							</td>
							<td>
								<div class="input-group">
									<button type="button" class="btn btn-secondary p-0 m-0 move-action mr-2"
											style="cursor: move;">
										<img src="/taocan/images/move.png" height="36">
									</button>
									<button type="button" class="btn btn-danger" @click="del(i)">删除</button>
								</div>
							</td>
						</tr>
						</tbody>
					</table>
				</div>
				<div class="ml-3 mb-3">
					<button type="button" class="btn btn-primary" @click="add();">添加套餐</button>
				</div>
		 
			</div>
		<!--</form>-->
	</div>
</div>
</div>













<script src="/taocan/js/jquery.min.js"></script>
<script src="/taocan/layer/layer.js"></script>
<script src="/taocan/js/vue.js"></script>
<script src="/taocan/js/axios.js"></script>
<script src="/taocan/node_modules/sortable/taocan/js/Sortable.min.js"></script>
<script>
var app = new Vue({
	el: '#app',
	data: {
		items: [],
	},
	updated() {
		var _this = this;
		var $tbody = _this.$el.querySelector('#tbody-items');
		new Sortable($tbody, {
			handle: '#tbody-items .move-action',
			onUpdate: function (event) {
				//修改items数据顺序
				var newIndex = event.newIndex,
					oldIndex = event.oldIndex,
					$tr = $tbody.children[newIndex],
					$oldTr = $tbody.children[oldIndex];
				// 先删除移动的节点
				$tbody.removeChild($tr);
				// 再插入移动的节点到原有节点,还原了移动的操作
				if (newIndex > oldIndex) {
					$tbody.insertBefore($tr, $oldTr)
				} else {
					$tbody.insertBefore($tr, $oldTr.nextSibling)
				}
				// 更新items数组
				var item = _this.items.splice(oldIndex, 1);
				_this.items.splice(newIndex, 0, item[0]);
			},
			animation: 150,
		})
	},
	mounted() {

	},
	methods: {
		add() {
			this.items.push({
				name: '',
				pic: '',
			});
		},
		del(pos) {
			this.items.splice(pos, 1);
		},
		upload(event, pos) {
			let _this = this;
			let file = event.target.files[0];
			let fileSize = file.size;
			let fileName = file.name;
			let fileExt = fileName.substring(fileName.lastIndexOf(".") + 1);
			try {
				this.checkExt(fileExt);//检测文件后缀
				this.checkSize(fileSize);//检测文件大小
				let param = new FormData();
				param.append("file", file);
				let config = {
					headers: {"Content-Type": "multipart/form-data"}
				};
				axios.post('upload.php', param, config).then(function (res) {
					if (res.data.code == 1) {
						_this.items[pos].pic = res.data.file_url;
						$('#preview-img-' + (parseInt(pos) + 1)).attr('layer-src', res.data.file_url);
						$('#preview-img-' + (parseInt(pos) + 1)).attr('src', res.data.file_url);
						$('#preview-img-' + (parseInt(pos) + 1)).attr('value', res.data.file_url);
					} else {
						layer.msg(res.data.msg);
					}
				}).catch(function (err) {
					console.log(err);
				});
			} catch (err) {
				layer.msg(err);
			}
		},
		delImg(pos) {
			this.items[pos].pic = '';
		},
		checkExt(ext) {
			//上传图片格式
			if (!['jpg', 'png', 'jpeg', 'gif', 'bmp'].includes(ext)) {
				throw '上传图片格式不正确';
			}
		},
		checkSize(size) {
			//限制2M
			if (size > 2000 * 1024) {
				throw '上传图片大小不能超过2M';
			}
		},
		previewImg(pos) {
			let img = $('#preview-img-' + (parseInt(pos) + 1)).attr('layer-src');
			if (!img) {
				layer.msg('没有可以预览的图片');
				return false;
			}
			layer.photos({
				photos: {
					"title": "", //相册标题
					"id": 'image_preview', //相册id
					"start": 0, //初始显示的图片序号,默认0
					"data": [   //相册包含的图片,数组格式
						{
							"alt": "",
							"pid": 666, //图片id
							"src": img, //原图地址
							"thumb": img //缩略图地址
						}
					]
				}, //格式见API文档手册页
				anim: 5, //0-6的选择,指定弹出图片动画类型,默认随机
				shadeClose: true,
				// skin: 'layui-layer-nobg',
				shade: [0.5, '#000000'],
				shadeClose: true,
			});
		}
	}
});
</script>


<div class="container" id="app2">
<div class="row">
	<div class="col-md-12">
		<!--<form class="" action="upload.php" method="POST">-->
			<div class="card">
				<div class="card-body">
					<table class="table">
						<thead>
						<tr>
							<th width="30%">名称</th>
							<th width="50%">图片</th>
							<th width="20%">操作</th>
						</tr>
						</thead>
						<tbody id="tbody-items2">
						<tr v-for="(v,i) in items" class="tr-item">
							<td>
								<div class="input-group">
									<input type="text" class="form-control" name="name"  value="">
								</div>
							</td>
							<td>
								<div class="row">
									<div class="col-sm-10">
										<div class="input-group" style="position: relative;">
											<input type="text" class="form-control" name="pic" value="v.pic" v-model="v.pic"
												   readonly>
											<img src="/taocan/images/delete.png" height="20"
												 style="position: absolute;cursor: pointer;top:-10px;right:38px;z-index:999;"
												 @click="delImg(i)">
											<div class="input-group-append">
												<div class="upload-btn">
													<input class="upload-img2" type="file" name="file"
														   @change="upload($event, i)">
												</div>
											</div>
										</div>
									</div>
									<div class="col-sm-2 p-0">
										<button type="button" class="btn btn-primary p-0 m-0">
											<input type="image" class="preview-img2" :id="'preview-img2-' + (i + 1)"
												 src="v.pic" height="36"  width="36"   :layer-src="v.pic"
												 @click="previewImg(i)" title="点击预览" value="v.pic">
												 
												<!--<input type="hidden" class="preview-img2" :id="'preview-img2-' + (i + 1)"-->
												<!-- value="v.pic"  >	 -->
												  
										</button>
									</div>
								</div>
							</td>
							<td>
								<div class="input-group">
									<button type="button" class="btn btn-secondary p-0 m-0 move-action2 mr-2"
											style="cursor: move;">
										<img src="/taocan/images/move.png" height="36">
									</button>
									<button type="button" class="btn btn-danger" @click="del(i)">删除</button>
								</div>
							</td>
						</tr>
						</tbody>
					</table>
				</div>
				<div class="ml-3 mb-3">
					<button type="button" class="btn btn-primary" @click="add();">添加属性</button>
				</div>
		 
			</div>
		<!--</form>-->
	</div>
</div>
</div>













 
<script>
var app = new Vue({
	el: '#app2',
	data: {
		items: [],
	},
	updated() {
		var _this = this;
		var $tbody = _this.$el.querySelector('#tbody-items2');
		new Sortable($tbody, {
			handle: '#tbody-items2 .move-action2',
			onUpdate: function (event) {
				//修改items数据顺序
				var newIndex = event.newIndex,
					oldIndex = event.oldIndex,
					$tr = $tbody.children[newIndex],
					$oldTr = $tbody.children[oldIndex];
				// 先删除移动的节点
				$tbody.removeChild($tr);
				// 再插入移动的节点到原有节点,还原了移动的操作
				if (newIndex > oldIndex) {
					$tbody.insertBefore($tr, $oldTr)
				} else {
					$tbody.insertBefore($tr, $oldTr.nextSibling)
				}
				// 更新items数组
				var item = _this.items.splice(oldIndex, 1);
				_this.items.splice(newIndex, 0, item[0]);
			},
			animation: 150,
		})
	},
	mounted() {

	},
	methods: {
		add() {
			this.items.push({
				name: '',
				pic: '',
			});
		},
		del(pos) {
			this.items.splice(pos, 1);
		},
		upload(event, pos) {
			let _this = this;
			let file = event.target.files[0];
			let fileSize = file.size;
			let fileName = file.name;
			let fileExt = fileName.substring(fileName.lastIndexOf(".") + 1);
			try {
				this.checkExt(fileExt);//检测文件后缀
				this.checkSize(fileSize);//检测文件大小
				let param = new FormData();
				param.append("file", file);
				let config = {
					headers: {"Content-Type": "multipart/form-data"}
				};
				axios.post('upload.php', param, config).then(function (res) {
					if (res.data.code == 1) {
						_this.items[pos].pic = res.data.file_url;
						$('#preview-img2-' + (parseInt(pos) + 1)).attr('layer-src', res.data.file_url);
						$('#preview-img2-' + (parseInt(pos) + 1)).attr('src', res.data.file_url);
						$('#preview-img2-' + (parseInt(pos) + 1)).attr('value', res.data.file_url);
					} else {
						layer.msg(res.data.msg);
					}
				}).catch(function (err) {
					console.log(err);
				});
			} catch (err) {
				layer.msg(err);
			}
		},
		delImg(pos) {
			this.items[pos].pic = '';
		},
		checkExt(ext) {
			//上传图片格式
			if (!['jpg', 'png', 'jpeg', 'gif', 'bmp'].includes(ext)) {
				throw '上传图片格式不正确';
			}
		},
		checkSize(size) {
			//限制2M
			if (size > 2000 * 1024) {
				throw '上传图片大小不能超过2M';
			}
		},
		previewImg(pos) {
			let img = $('#preview-img2-' + (parseInt(pos) + 1)).attr('layer-src');
			if (!img) {
				layer.msg('没有可以预览的图片');
				return false;
			}
			layer.photos({
				photos: {
					"title": "", //相册标题
					"id": 'image_preview', //相册id
					"start": 0, //初始显示的图片序号,默认0
					"data": [   //相册包含的图片,数组格式
						{
							"alt": "",
							"pid": 666, //图片id
							"src": img, //原图地址
							"thumb": img //缩略图地址
						}
					]
				}, //格式见API文档手册页
				anim: 5, //0-6的选择,指定弹出图片动画类型,默认随机
				shadeClose: true,
				// skin: 'layui-layer-nobg',
				shade: [0.5, '#000000'],
				shadeClose: true,
			});
		}
	}
});
</script>			
					

<div class="container" id="app3">
<div class="row">
	<div class="col-md-12">
		<!--<form class="" action="upload.php" method="POST">-->
			<div class="card">
				<div class="card-body">
					<table class="table">
						<thead>
						<tr>
							<th width="30%">名称</th>
							<th width="50%">图片</th>
							<th width="20%">操作</th>
						</tr>
						</thead>
						<tbody id="tbody-items3">
						<tr v-for="(v,i) in items" class="tr-item">
							<td>
								<div class="input-group">
									<input type="text" class="form-control" name="name"  value="">
								</div>
							</td>
							<td>
								<div class="row">
									<div class="col-sm-10">
										<div class="input-group" style="position: relative;">
											<input type="text" class="form-control" name="pic" value="v.pic" v-model="v.pic"
												   readonly>
											<img src="/taocan/images/delete.png" height="20"
												 style="position: absolute;cursor: pointer;top:-10px;right:38px;z-index:999;"
												 @click="delImg(i)">
											<div class="input-group-append">
												<div class="upload-btn">
													<input class="upload-img3" type="file" name="file"
														   @change="upload($event, i)">
												</div>
											</div>
										</div>
									</div>
									<div class="col-sm-2 p-0">
										<button type="button" class="btn btn-primary p-0 m-0">
											<input type="image" class="preview-img3" :id="'preview-img3-' + (i + 1)"
												 src="v.pic" height="36"  width="36"   :layer-src="v.pic"
												 @click="previewImg(i)" title="点击预览" value="v.pic">
												 
												<!--<input type="hidden" class="preview-img3" :id="'preview-img3-' + (i + 1)"-->
												<!-- value="v.pic"  >	 -->
												  
										</button>
									</div>
								</div>
							</td>
							<td>
								<div class="input-group">
									<button type="button" class="btn btn-secondary p-0 m-0 move-action3 mr-2"
											style="cursor: move;">
										<img src="/taocan/images/move.png" height="36">
									</button>
									<button type="button" class="btn btn-danger" @click="del(i)">删除</button>
								</div>
							</td>
						</tr>
						</tbody>
					</table>
				</div>
				<div class="ml-3 mb-3">
					<button type="button" class="btn btn-primary" @click="add();">添加属性</button>
				</div>
		 
			</div>
		<!--</form>-->
	</div>
</div>
</div>













 
<script>
var app = new Vue({
	el: '#app3',
	data: {
		items: [],
	},
	updated() {
		var _this = this;
		var $tbody = _this.$el.querySelector('#tbody-items3');
		new Sortable($tbody, {
			handle: '#tbody-items3 .move-action3',
			onUpdate: function (event) {
				//修改items数据顺序
				var newIndex = event.newIndex,
					oldIndex = event.oldIndex,
					$tr = $tbody.children[newIndex],
					$oldTr = $tbody.children[oldIndex];
				// 先删除移动的节点
				$tbody.removeChild($tr);
				// 再插入移动的节点到原有节点,还原了移动的操作
				if (newIndex > oldIndex) {
					$tbody.insertBefore($tr, $oldTr)
				} else {
					$tbody.insertBefore($tr, $oldTr.nextSibling)
				}
				// 更新items数组
				var item = _this.items.splice(oldIndex, 1);
				_this.items.splice(newIndex, 0, item[0]);
			},
			animation: 150,
		})
	},
	mounted() {

	},
	methods: {
		add() {
			this.items.push({
				name: '',
				pic: '',
			});
		},
		del(pos) {
			this.items.splice(pos, 1);
		},
		upload(event, pos) {
			let _this = this;
			let file = event.target.files[0];
			let fileSize = file.size;
			let fileName = file.name;
			let fileExt = fileName.substring(fileName.lastIndexOf(".") + 1);
			try {
				this.checkExt(fileExt);//检测文件后缀
				this.checkSize(fileSize);//检测文件大小
				let param = new FormData();
				param.append("file", file);
				let config = {
					headers: {"Content-Type": "multipart/form-data"}
				};
				axios.post('upload.php', param, config).then(function (res) {
					if (res.data.code == 1) {
						_this.items[pos].pic = res.data.file_url;
						$('#preview-img3-' + (parseInt(pos) + 1)).attr('layer-src', res.data.file_url);
						$('#preview-img3-' + (parseInt(pos) + 1)).attr('src', res.data.file_url);
						$('#preview-img3-' + (parseInt(pos) + 1)).attr('value', res.data.file_url);
					} else {
						layer.msg(res.data.msg);
					}
				}).catch(function (err) {
					console.log(err);
				});
			} catch (err) {
				layer.msg(err);
			}
		},
		delImg(pos) {
			this.items[pos].pic = '';
		},
		checkExt(ext) {
			//上传图片格式
			if (!['jpg', 'png', 'jpeg', 'gif', 'bmp'].includes(ext)) {
				throw '上传图片格式不正确';
			}
		},
		checkSize(size) {
			//限制2M
			if (size > 2000 * 1024) {
				throw '上传图片大小不能超过2M';
			}
		},
		previewImg(pos) {
			let img = $('#preview-img3-' + (parseInt(pos) + 1)).attr('layer-src');
			if (!img) {
				layer.msg('没有可以预览的图片');
				return false;
			}
			layer.photos({
				photos: {
					"title": "", //相册标题
					"id": 'image_preview', //相册id
					"start": 0, //初始显示的图片序号,默认0
					"data": [   //相册包含的图片,数组格式
						{
							"alt": "",
							"pid": 666, //图片id
							"src": img, //原图地址
							"thumb": img //缩略图地址
						}
					]
				}, //格式见API文档手册页
				anim: 5, //0-6的选择,指定弹出图片动画类型,默认随机
				shadeClose: true,
				// skin: 'layui-layer-nobg',
				shade: [0.5, '#000000'],
				shadeClose: true,
			});
		}
	}
});
</script>					
					
					
 
 
  <!--<script src="/layui/layui.js" charset="utf-8"></script>-->
 
  <!--<link rel="stylesheet" href="/layui/css/layui.css"  media="all"> -->
 
 	<form action="/套餐.php" method="post" class="form-horizontal">
  <div  class="taocanmain">
 <input type="hidden" name="proid" value="1">
  <input type="hidden" name="tc_type" value="1">
     <div class="layui-form-item">
			<label class="layui-form-label" style="width:120px !important">产品套餐</label>
	   
			<div class="fl"><input type="text" name="norms_temp[one][title]" autocomplete="off" placeholder="产品套餐" class="layui-input div-w-200"></div>
			<div class="fl" style="margin-left:10px;" onclick="addNormsOne();"><a class="layui-btn layui-btn-normal"> 添加产品套餐</a></div>
		</div>
		<div class="layui-form-item">
			<div class="taocan" id="norms_one">
		 
			</div>
		</div>
		
		<div class="layui-form-item">
		    <input type="hidden" name="sx1_type" value="2">
			<label class="layui-form-label"  style="width:120px !important">产品属性</label>
			<div class="fl"><input type="text" name="norms_temp[two][title]" autocomplete="off" placeholder="属性名称" class="layui-input div-w-200"></div>
			<div class="fl" style="margin-left:10px;" onclick="addNormsTwo();"><a class="layui-btn layui-btn-normal"> 添加产品属性</a></div>
		</div>
		
		<div class="layui-form-item">
			<div class="taocan" id="norms_two">
				
			</div>
		</div>
		
		<div class="layui-form-item">
		    <input type="hidden" name="sx2_type" value="3">
			<label class="layui-form-label"  style="width:120px !important">产品属性</label>
			<div class="fl"><input type="text" name="norms_temp[three][title]" autocomplete="off" placeholder="属性名称" class="layui-input div-w-200"></div>
			<div class="fl" style="margin-left:10px;" onclick="addNormsThree();"><a class="layui-btn layui-btn-normal"> 添加产品属性</a></div>
		</div>
		
		<div class="layui-form-item">
			<div class="taocan" id="norms_three">
				
			</div>
		</div>
		</div>
		<input type="submit" name="" id="" value="表单提交" />
	</form>	
		<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>

<!---新加--->
<?php

$servername = "127.0.0.1";
$username = "ddcwoyt";
$password = "WnT2JNfHiEy3N7p8";
$dbname = "ddcwoyt";
 
 

 

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
} 


	if(IS_POST){
	    
	    	
	   $proid=$_POST['proid'];
	   $title=json_encode($_POST['tc_title']);;
	   $tc_thumb=json_encode($_POST['tc_thumb']);;
	   $type=1; 
	   $number=json_encode($_POST['tc_number']);
	   $price=json_encode($_POST['tc_price']); 
	   $total_number=json_encode($_POST['total_number']);  
	        	
	        	
	   echo $title;
	   echo $number;
	   echo $price;
	   echo $total_number;
	   echo $tc_thumb;
	   echo "<br>";
	  
	   $chandu=count($_POST['tc_title']);//总长度
	   
	   for ($i = 0; $i < $chandu; $i++) {
	      echo $_POST['tc_title'][$i].$_POST['tc_thumb'][$i].$_POST['tc_price'][$i].$_POST['total_number'][$i]."<br>";
	      
	      
	      
	   }
 
	    
	    
	}


?>
<script type="text/javascript">
layui.use(['form','laydate','colorpicker'], function(){
  var form = layui.form
  ,layer = layui.layer
  ,laydate = layui.laydate
  ,colorpicker = layui.colorpicker;
  
});  

/*
表单提交
*/
 


//上传产品小图标
function uploadNormsImg(obj){

	var formData = new FormData();
	var files = $(obj)[0].files[0];
	if(files != undefined){
		$(obj).siblings('img').attr('src',URL.createObjectURL(files));
		formData.append('file',files);  //添加图片信息的参数
		$.ajax({
			url: "/index/flie/tc_thumb",
			type: 'POST',
			cache: false, //上传文件不需要缓存
			data: formData,
			processData: false, // 告诉jQuery不要去处理发送的数据
			contentType: false, // 告诉jQuery不要去设置Content-Type请求头
			success: function (data) {
				if(data.status == 1){
					$(obj).siblings("input[type='hidden']").val(data.filename);
				}
			}
		})
	}

}

function addNormsOne(){
	var dl = '<dl><dd><input type="file" accept="image/*" onchange="uploadNormsImg(this)" multiple=""><input type="hidden" name="tc_thumb[]" value=""><img src="/Public/img/tu.png"/></dd><dt><input type="text" name="tc_title[]" autocomplete="off" placeholder="套餐名称" class="layui-input div-w-300"></dt><dt><input type="text" name="tc_price[]" autocomplete="off" placeholder="套餐价格" class="layui-input div-w-100"><dt><dt><input type="text" name="total_number[]" autocomplete="off" placeholder="产品总数" class="layui-input div-w-100"><dt><dt><input type="text" name="tc_number[]" autocomplete="off" placeholder="套餐库存" class="layui-input div-w-100" value="9999"><dt><li onclick="delNorms(this)"><a class="layui-btn layui-btn-danger"><i class="fa fa-trash-o"></i> 删 除</a></li><li onclick="arrowUp(this)"><a class="layui-btn"><i class="fa fa-arrow-up"></i> 上 移</a></li><li onclick="arrowDown(this)"><a class="layui-btn"><i class="fa fa-arrow-down"></i> 下 移</a></li></dl> ';
	$('#norms_one').append(dl);
}


function addNormsTwo(){
	var dl = '<dl><dd><input type="file" accept="image/*" onchange="uploadNormsImg(this)" multiple=""><input type="hidden" name="sx1_tc_thumb" value=""><img src="/Public/img/tu.png"/></dd><dt><input type="text" name="sx1_title" autocomplete="off" placeholder="属性" class="layui-input div-w-300"></dt><li onclick="delNorms(this)"><a class="layui-btn layui-btn-danger"><i class="fa fa-trash-o"></i> 删 除</a></li><li onclick="arrowUp(this)"><a class="layui-btn"><i class="fa fa-arrow-up"></i> 上 移</a></li><li onclick="arrowDown(this)"><a class="layui-btn"><i class="fa fa-arrow-down"></i> 下 移</a></li></dl> ';
	$('#norms_two').append(dl);
}

function addNormsThree(){
	var dl = '<dl><dd><input type="file" accept="image/*" onchange="uploadNormsImg(this)" multiple=""><input type="hidden" name="sx2_tc_thumb" value=""><img src="/Public/img/tu.png"/></dd><dt><input type="text" name="sx2_title" autocomplete="off" placeholder="属性" class="layui-input div-w-300"></dt><li onclick="delNorms(this)"><a class="layui-btn layui-btn-danger"><i class="fa fa-trash-o"></i> 删 除</a></li><li onclick="arrowUp(this)"><a class="layui-btn"><i class="fa fa-arrow-up"></i> 上 移</a></li><li onclick="arrowDown(this)"><a class="layui-btn"><i class="fa fa-arrow-down"></i> 下 移</a></li></dl> ';
	$('#norms_three').append(dl);
}

//上移
function arrowUp(obj){
	var dl = $(obj).parents('dl');
	dl.prev().before(dl);
}


//下移
function arrowDown(obj){
	var dl = $(obj).parents('dl');
	dl.next().after(dl);
	
}

//删除
function delNorms(obj){

	$(obj).parents('dl').remove();
}


</script>
 <style>
 
 .layui-form-switch{  }
 .layui-form-onswitch{border-color: #0595f2 !important;  background-color: #0595f2 !important;}
 .layui-form-checked span, .layui-form-checked:hover span{  background-color: #0595f2;}
 fieldset.layui-elem-field{ margin:0px 20px 10px 20px;   /*border-color: #0595f2;*/}
 fieldset.layui-elem-field legend{ font-size:14px; color:#0595f2; font-weight: bold;}
 a.look-var{ background:#333 !important; height: 25px !important; line-height: 25px !important; padding: 0px 8px !important;}
 .layui-form-radio>i:hover, .layui-form-radioed>i { color: #0595f2;}
 .layui-form-select dl dd.layui-this,.list-body .layui-form-select dl dd.layui-this{ background-color: #0595f2 !important;}
 .taocan .layui-input{ height:30px; line-height:30px;}
 .taocan .layui-btn{height:30px; line-height:30px;  padding: 0px 8px !important;}
 .layui-input-block p{ line-height:38px;}
 .layui-input-block p b{ color:red; font-size:14px;}
 .layui-input-block p i.fa-pencil{ color:#0595f2; font-size:16px; margin-left:10px; text-decoration: underline; cursor:pointer;}

 .taocan{ margin-left:110px;}
 .taocan dl{ clear:both; margin:10px 0; overflow: hidden;}
 .taocan dl dt{float:left; margin:0px 5px;}
 .taocan dl dd{ width:28px; height:28px; overflow:hidden; border: 1px solid #e2e2e2; float:left; margin:0px 5px 0 0; position: relative;}
 .taocan dl dd input[type="file"]{ width:28px; height:28px; opacity:0; position: absolute;top:0px; left:0px; z-index:2;}
 .taocan dl dd img{ width:28px; height:28px; position: absolute; top:0px; left:0px;}
 .taocan dl li{float:left; margin:0px 5px;}
 li{list-style:none;}
 
 
.c{clear:both;}
.fr{ float:right;}
.fl{ float:left;}
.div-w-100 {
    width: 100px !important;
}
 .taocanmain{margin-left:50px;border: 2px solid #009688;
    padding: 30px;}
.updata-ul{background: #f2f2f2;padding: 10px;z-index: 999;bottom: 0px;width:100%}
 </style>
 

<!---新加--->