Blogger Information
Blog 43
fans 3
comment 1
visits 30214
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
数组与流程控制+2018年4月15日02时50分
KongLi的博客
Original
783 people have browsed it

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

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>');
}


Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post