博客列表 >数组与流程控制+2018年4月15日02时50分

数组与流程控制+2018年4月15日02时50分

KongLi的博客
KongLi的博客原创
2018年04月15日 02:46:02782浏览

表格生成器,前端与后端进行数据交互,使用循环输入表格

HTML 源码

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>表格生成器</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<!-- <script type="text/javascript" src="js/table.js"></script> -->
<script type="text/javascript" src="js/create.js"></script>
<!-- <script type="text/javascript" src="js/test.js"></script> -->
</head>
<body>
<div>
<p>
<label for="tab-t">生成头</label>
<input type="text" name="tab-t" id="tab-t" placeholder="标题">
</p>
<p>
<label for="tab-r">生成行</label>
<input type="text" name="tab-r" id="tab-r" placeholder="行">
</p>
<p>
<label for="tab-c">生成列</label>
<input type="text" name="tab-c" id="tab-c" placeholder="列">
</p>
<p>
<button>生成</button>
<button>重置</button>
</p>
</div>
</body>
</html>


CSS 源码

.main{
	width: 500px;
	border: 1px solid #ccc;
	border-radius: 20px;
	margin: auto;
}

.main p{
	margin-left: 30px;
}

.main button{
	border: 0px;
	width: 80px;
	height: 30px;
	background-color: green;
	color: white;
}

JS 源码

$(document).ready(function(){
	var flag=true
	$('button:first').click(function(){
		if($('#tab-t').val().length==0){
			var plac = $('#tab-t').attr('placeholder')
				var msg = '<span style="color:red;">'+plac+'不能为空!</span>'
				//如果为空则提示
				$('#tab-t').after(msg)
				setTimeout(function(){
					$('#tab-t').next().remove()
					$('#tab-t').focus()
				},2000)
				return false
		}else{

		//开始循环提交的 行 和 列
		$('input').not($('#tab-t')).each(function(index,obj){
			if($(obj).val().length==0){
				//得到文本提示
				var plac = $(obj).attr('placeholder')
				var msg = '<span style="color:red;">'+plac+'不能为空!</span>'
				//如果为空则提示
				$(obj).after(msg)
				setTimeout(function(){
					$(obj).next().remove()
					$(obj).focus()
				},2000)
				return false
				
			}else if(isNaN($(obj).val())){
				var msg = '<span style="color:green;">输入必须为数字!</span>'
				//如果为空则提示
				$(obj).after(msg)
				setTimeout(function(){
					$(obj).next().remove()
					$(obj).focus()
				},2000)
				return false

			}else if($(obj).val() <= 0){
				// console.log('--'+$(obj).val())
				var msg = '<span style="color:green;">输入数必须大于0!</span>'
				//如果为空则提示
				$(obj).after(msg)
				setTimeout(function(){
					$(obj).next().remove()
					$(obj).focus()
				},2000)
				return false
			}else{
				//开始提交
				// $.get(url, data, success)
				if(flag){
						$.get(
						//1.请求处理的脚本
						'admin/table.php',
						//2.发送的请求参数
						{
							tab_t:$('#tab-t').val(),
							tab_r:$('#tab-r').val(),
							tab_c:$('#tab-c').val()
						},
						//3.请求成功的回调函数
						function(data){
						//先将上一次生成的表格删除
						$('p:last').next().remove()
						//生成新的表格
						$('p:last').after(data)
					}
					)
				flag = false  //提交一次之后设置为 false 防止重复提交
				}
				//
			}
		})
	
	}
})
	//重置
	$('button:last').click(function(){
		$(':input').val('') //清空所有 input

		$('h2').remove()
		$('table').remove()
		$(':input:first').focus()
		flag=true
	})
})

PHP 源码

<?php
//判断用户的请求类型是否合法,必须是GET请求
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
	//如果用户发送的数据全部存在且不为空
	if (!empty($_GET['tab_t']) && !empty($_GET['tab_r']) && !empty($_GET['tab_c'])) {
		//获取提交过来的数据
		$tb_t = $_GET['tab_t'];
		$tb_r = $_GET['tab_r'];
		$tb_c = $_GET['tab_c'];

		$table = '<h2 style="color:green;text-align: center;">'.$tb_t.'</h2>';
		//创建表格的基本架构,采用字符串拼接方式,最后统一生成,提高效率
		$table .= '<p><table border="1" cellspacing="0" cellpadding="3" align="center" width="80%">';
		//下面用双重循环来生成这个表格
		//1生成表头
		$table .= '<tr align="center" bgcolor="lightgreen">';
		for ($i=0; $i<$tb_c; $i++) {
			$table .= '<th>第:'.($i+1).'列</th>';
		}
		$table .= '</tr>';

		//2.生成表格内容区

		//外层行循环
		for ($r=0; $r<$tb_r; $r++) {
			$table .= '<tr>';

			//内层列循环
			for($c=0; $c<$tb_c; $c++) {
				//设置单元格的数据,数据与单元格数量对应
				$data = $r*$tb_c+$c;
				// ++$data: 可以确保从1开始计数,以确保符合人类正常思维
				$table .= '<td align="center">'.++$data.'</td>';
			}

			
			$table .= '</tr>';
		}
		$table .= '</table></p>';
		//将生成的表格返回到客户端
		echo $table;
		//结束当前脚本,可以省略,但写上该语句是一个很好的编程习惯
		exit();
	}
} else {
	exit('<span style="color:red">请求类型错误</span>');
}


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议