博主信息
博文 34
粉丝 0
评论 1
访问量 28233
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
0413实战:表格自动生成器
丝丝心动的博客
原创
1119人浏览过

通过本次课的学习和作业的完成,基本学会了数组的创建,访问与更新;常量的声明,赋值与输出;变量运算;条件判断与多分支语句;循环结构等内容,有了很大的提升。

实战:表格自动生成器的代码:

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>6.实战:表格自动生成器</title>
 <style type="text/css">
  button {
   width: 80px;
   height: 30px;
   border: none;
   background-color: green;
   color:white;
   margin-right: 30px;
  }
 </style>
</head>
<body>
 <fieldset style=" width:350px">
     <legend style="background-color: green; color:white">表格生成器</legend>
     <p><label>输入表格名称:<input type="text" name="name" id="name"></label></p>
     <p><label>输入表格行数:<input type="text" name="rows" id="rows"></label></p>
     <p><label>输入表格列数:<input type="text" name="cols" id="cols"></label></p>
     <p><button>生成表格</button><button>重置表格</button></p>
 </fieldset>
 <p></p>
<script type="text/javascript" src="js/jquery-3.3.1.js"></script>
<script type="text/javascript">
  
 // 创建请求标志,防止重复请求
 var flag = true
 
 $('button:first').on('click',function(){
  // alert(1)
  // 第一步:遍历并验证用户输入信息
  // $(选择器).each(对象索引,当前对象)
  $('input:first').each(function(index,obj){
   // alert($(obj).val())
    // 非空判断
   if ($(obj).val().length == 0) {
     // 在当前元素的后面添加提示信息
    $(obj).after('<apan style="color:red">不能为空</span>')
     // 用定时器清空提示
    setTimeout(function(){
     $(obj).next().remove()
    },1000)
    return false
   }
  })
  $('input:input').not('input:first').each(function(index,obj){
   // 非空判断
   // alert($(obj).val())
   if ($(obj).val().length == 0) {
     // 在当前元素的后面添加提示信息
    $(obj).after('<apan style="color:red">不能为空</span>')
     // 用定时器清空提示
    setTimeout(function(){
     $(obj).next().remove()
    },1000)
    return false
   }else if (isNaN($(obj).val())) {
  //   // 在当前元素的后面添加提示信息
    $(obj).after('<apan style="color:red">必须为数字</span>')
     // 用定时器清空提示
    setTimeout(function(){
     $(obj).next().remove()
    },1000)
    return false   }else if ($(obj).val()<=0) {
     // 在当前元素的后面添加提示信息
    $(obj).after('<apan style="color:red">必须大于0</span>')
     // 用定时器清空提示
    setTimeout(function(){
     $(obj).next().remove()
    },1000)
    return false
   }
  })
  // 第二步:处理用户请求:ajax
  if (flag==true) {
    
    $.get('dome7.php',{
     name:$('input[name="name"]').val(),
     rows:$('input[name="rows"]').val(),
     cols:$('input[name="cols"]').val()    },function(data){
     // $('p:last').after('<span>').text(data)
     $('p:last').after(data)
     // $('caption').after(data)
    })
    flag =false
  }
 })
    //重置按钮
 $('button:last').click(function(){
  $('input:input').val('')
  $('input:first').focus()
  $('p:last').next().remove()
  flag =true
 }) 
</script>
</body>
</html>

对应的php脚本:

<?php
//判断用户的请求类型是否合法,必须是GET请求
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
    
 //如果用户发送的数据全部存在且不为空
 if (!empty($_GET['rows']) && !empty($_GET['cols']) &&  !empty($_GET['name'])) {
  //用较短的变量名称进行转存
  
  $name = $_GET['name'];
  $rows = $_GET['rows'];
  $cols = $_GET['cols'];
  // 创建表格的基本结构
  $table = '<table border="1px" cellspacing="0" cellpadding="3px" align="center" width="80%">';
  // 生成表格名
  $table .='<caption align="center" background-color="green" color="white">';
  $table .=$name.'<br>'.'<br>';
  $table .='</caption>';
  // 生成 表格头
  $table .= '<tr align="center" bgcolor="lightgreen">';
  for ($i=0; $i<$cols; $i++) {
   $table .= '<th>A</th>';
  }
  $table .= '</tr>';
        
        // echo $table;
  // //2.生成表格内容区
  for ($r=0; $r<$rows; $r++) {
   $table .= '<tr>';
   for($c=0; $c<$cols; $c++) {
    //设置单元格的数据,数据与单元格数量对应
    $data = $r*$cols+$c;
    // ++$data: 可以确保从1开始计数
    $table .= '<td align="center">'.++$data.'</td>';
   }
   $table .= '</tr>';
  }
  $table .= '</table>';
  //将生成的表格返回到客户端
  // echo $table;
  print_r($table);
  // 结束当前脚本
  exit(); 
 } 
}else {
 exit('<span style="color:red">非法请求</span>');
}

实战:表格自动生成器的实现效果:

1.png

总结:

通过这次实战案例的学习与完成,让我把基础又打牢了一些。之前在完成该案例的时候老是出不来效果,自己敲了两三遍都不行,跟着老师敲也出不来,最后静下心来一步一步的完成,每一步的对才过,最终才搞出来,得到的体会就是要细心加细心加细心才行。

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学