博客列表 >表格自动生成器--2018年4月14日2点11分

表格自动生成器--2018年4月14日2点11分

Alan_繁华
Alan_繁华原创
2018年04月14日 02:14:03859浏览

1.png

2.png

3.png


4.png

5.png

前台代码如下:

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    <meta charset="UTF-8">
    <title>表格自动生成器</title>
    <style type="text/css"></style>
    <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <style>
        body{
            width: 100%;
        }
        .container{
            width: 100%;
            margin: 5%;
        }
        .col-md-12{
            margin: 10px 0;
        }
        button{
            margin-right: 30px;
            background-color: greenyellow;
        }
    </style>
</head>
<body>
<div class="container">
    <div class="row">
        <div class="col-md-12"><h2>表格自动生成器</h2></div>
        <div class="col-md-12">请输入标题:<input type="text" name="title" value=""></div>
        <div class="col-md-12">请输入行数:<input type="text" name="rows" value=""></div>
        <div class="col-md-12">请输入列数:<input type="text" name="cols" value=""></div>
        <div class="col-md-12"><button>生成表格</button><button>重置表格</button></div>
    </div>
</div>
<script>
    var flag = true
    $('button:first').on('click',function () {
        //第一步:遍历并验证用户的输入信息
        //$(选择器).each(对象索引,当前对象):用来循环遍历获取到所有jquery对象
        var isTrue = false
        $(':input').not('button').each(function (index,obj) {
            var objVal = $(obj).val()
            //非空判断
            if(objVal.length == 0){
                //在当前元素后添加提示信息
                if(index == 0){
                    $(obj).after('<span style="color:red">请输入标题</span>')
                }else{
                    $(obj).after('<span style="color:red">不能为空</span>')
                }
                setTimeout(function () {
                   $(obj).next().remove()
                },2000)
                return isTrue=false
            }
            //排除第一个表格的判断
            else if(index>0){
                //判断是否为数字
                if(isNaN(objVal)){
                    $(obj).after('<span style="color:red">必须输入数字</span>')
                    setTimeout(function () {
                        $(obj).next().remove()
                    },2000)
                    return isTrue=false
                }
                //判断是否为大于0
                else if(objVal <= 0){
                    $(obj).after('<span style="color:red">数字必须是大于0</span>')
                    setTimeout(function () {
                        $(obj).next().remove()
                    },2000)
                    return isTrue=false
                }else{
                    return isTrue=true
                }
            }
        })
        //如果第一次提交并且所有条件成立,则生成表格
        if(flag == true && isTrue == true){
            $.ajax({
                url: 'demo7.php',
                data: {
                    title:$('input[name="title"]').val(),
                    rows:$('input[name="rows"]').val(),
                    cols:$('input[name="cols"]').val()
                },
                success: function (data) {
                    var data = eval(data)
                    if(data.status == 'success'){
                        $('.col-md-12:last').after(data.data)
                    }else{
                        $('.col-md-12:last').after('<span style="color: red">'+data.data+'</span>')
                    }
                    console.log(data.data)
                    flag = false

                },
                dataType: 'json'
            });
        }
    })
    $('button').eq(1).on('click',function () {
        $(':input').not('button').val('')
        $(':input:first').focus()
        $('.col-md-12:last').next().remove()
        flag = true
    })
</script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


后台代码如下:

实例

<?php
//由于网页对&符号转义,所以全都改成英文的 and
//对于通过它的$.ajax, $.get, or $.post方法请求网页内容时,它会向服务器传递一个HTTP_X_REQUESTED_WITH的参数 并且判断是不是GET方法提交
if($_SERVER['REQUEST_METHOD'] == 'GET' and isset($_SERVER['HTTP_X_REQUESTED_WITH'])){
    //当行和列同时不我空时执行

    if(!empty($_GET['title']) and !empty($_GET['rows']) and !empty($_GET['cols'])){
        $title = $_GET['title'];
        $rows = $_GET['rows'];
        $cols = $_GET['cols'];

        $table = '<table border="1" width="80%" align="center"><tr bgcolor="#adff2f" align="center"><td colspan="'.$cols.'">'.$title.'</td></tr><tr align="center" bgcolor="#ccc">';
        for ($i=0;$i<$cols;$i++){
            $table .= '<th>'.$i.'</th>';
        }
        $table .= '</tr>';

        for($r=0;$r<$rows;$r++){

            $table .= '<tr align="center">';
            for ($c=0;$c<$cols;$c++){
                $data = $r*$cols+$c+1;
                $table .= '<td>'.$data.'</td>';
            }
            $table .= '</tr>';
        }
        $table .= '</table>';
        $arr['status'] = "success";
        $arr['data'] = $table;
        echo json_encode($arr);
    }else{
        $arr['status'] = "error1";
        $arr['data'] = "标题、行或列为空";
        echo json_encode($arr);
    }
}else{
    $arr['status'] = "error2";
    $arr['data'] = "请求类型错误";
    echo json_encode($arr);
}

运行实例 »

点击 "运行实例" 按钮查看在线实例


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