博主信息
博文 43
粉丝 3
评论 1
访问量 36463
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
数组与流程控制+2018年4月15日02时50分
KongLi的博客
原创
922人浏览过

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

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举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学