博客列表 >0515作业2019年5月16日 12:42:05

0515作业2019年5月16日 12:42:05

Viggo的博客
Viggo的博客原创
2019年05月16日 12:45:40666浏览

作业1、Ajax制作表单

html页面

实例

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>Ajax验证表单数据</title>
</head>
<body>
<form id="login">
    <p>
        <label for="email">邮箱:</label>
        <input type="text" id="email">
        <span id="em"></span>
    </p>
    <p>
        <label for="password">密码:</label>
        <input type="password" id="password">
        <span id="psw"></span>
    </p>
    <p>
        <button id="submit" type="button">登录</button>
        <span id="btn"></span>
    </p>
</form>
<script>
    // 首先拿到各个标签
    var login = document.forms.namedItem('login');
    var email = login.email;
    var em = login.querySelector('#em');
    var password = login.password;
    var psw = login.querySelector('#psw');
    var submit = login.submit;
    var btn = login.querySelector('#btn');


    submit.addEventListener('click',function () {
        // 非空验证 验证完毕反正真后进入表单验证
        if (show()) {
            // 验证表单

            // 创建Ajax
            var xhr = new XMLHttpRequest;

            // 创建监听事件
            xhr.onreadystatechange = function () {
                if (xhr.readyState === 4){
                    if (xhr.status === 200){
                        btn.innerHTML =xhr.responseText;
                        // console.log(xhr.responseText);

                    }
                }
            };
            // 初始化连接
            xhr.open('POST','admin/admin.php',true);

            // 设置http头
            xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

            // 发送信息
            xhr.send('email='+email.value+'&password='+password.value);
        }
    },false);

    // 非空验证
    function show() {
        // trim 是清空文本前后空格的命令函数
       var temp1 = email.value.trim();
        var temp2 = password.value.trim();
        if (temp1.length === 0){
            em.innerHTML = '请输入邮箱';
            email.focus();
            return false;
        }else if (temp2.length === 0){
            psw.innerHTML = '请输入密码';
            password.focus();
            return false;
        }
        return true;
    }

    // 编辑框输入内容后清空占位符的提示
    email.addEventListener('input',function () {
        em.innerHTML = '';
        btn.innerHTML = '';
    },false);
    password.addEventListener('input',function () {
        psw.innerHTML = '';
        btn.innerHTML = '';
    },false);
</script>

</body>
</html>

运行实例 »

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

php页面

实例

<?php
//print_r($_POST);

$email = $_POST['email'];
$password = $_POST['password'];

//创建数组代替数据库模拟访问
$emailList = ['admin@php.cn','admin@html.cn','admin@py.cn'];

//密码是转换成了md5形式
$pwd = md5('123456');

if (!in_array($email,$emailList)){
    echo  '<span style = "color: red">邮箱不正确</span>';
}elseif (md5($password) !== $pwd){
    echo  '<span style = "color: red">密码不正确</span>';
}else {
    echo  '<span style = "color: green">验证通过,正在跳转...</span>';
}

运行实例 »

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





作业2、Ajax标签选项卡

html页面

实例

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>Ajax制作选项卡</title>
    <style>
        #wrap{
            width: 400px;
            height: 600px;
            margin: 0 auto;
            border-radius: 3px;
            border: 1px solid grey;
        }
        #wrap ul{
            list-style: none;
            margin: 0;
            padding: 0;
        }
        #box1{
            height: 38px;
            background-color: #A9A9A9;
            /*border: 2px solid grey;*/
        }

        #box1 li{
            float: left;
            margin: 5px;
            width: 80px;
            height: 30px;
            line-height: 30px;
            text-align: center;
            /*border-bottom: 2px solid red;*/
            /*background-color: #A9A9A9;*/
            cursor: pointer;
        }

        #wrap div{
            display: none;
            clear: both;
            margin: 5px;
        }
        div ul li:hover{
            color: #AF3434;
            cursor: pointer;
        }
    </style>
</head>
<body>

<div id="wrap">
    <!--<hr style="background-color: darkgray; height: 1px;clear: both;position: relative;top: -7px">-->
    <ul id="box1">

        <li>技术文章</li>
        <li>网站源码</li>
        <li>原生手册</li>
        <li>推荐博文</li>

    </ul>



    <div class="dit" style="display: block;">
        <!--<ul>-->
            <!--<li>这是第一个选项卡的DIV内容</li>-->
            <!--<li>这是第一个选项卡的DIV内容</li>-->
            <!--<li>这是第一个选项卡的DIV内容</li>-->
            <!--<li>这是第一个选项卡的DIV内容</li>-->
            <!--<li>这是第一个选项卡的DIV内容</li>-->
            <!--<li>这是第一个选项卡的DIV内容</li>-->
            <!--<li>这是第一个选项卡的DIV内容</li>-->
            <!--<li>这是第一个选项卡的DIV内容</li>-->
            <!--<li>这是第一个选项卡的DIV内容</li>-->
            <!--<li>这是第一个选项卡的DIV内容</li>-->
            <!--<li>这是第一个选项卡的DIV内容</li>-->
            <!--<li>这是第一个选项卡的DIV内容</li>-->
            <!--<li>这是第一个选项卡的DIV内容</li>-->
            <!--<li>这是第一个选项卡的DIV内容</li>-->
            <!--<li>这是第一个选项卡的DIV内容</li>-->
            <!--<li>这是第一个选项卡的DIV内容</li>-->
            <!--<li>这是第一个选项卡的DIV内容</li>-->
            <!--<li>这是第一个选项卡的DIV内容</li>-->
            <!--<li>这是第一个选项卡的DIV内容</li>-->
            <!--<li>这是第一个选项卡的DIV内容</li>-->
        <!--</ul>-->
    </div>

    <div class="dit">
        <!--<ul>-->
            <!--<li>这是第二个选项卡的DIV内容</li>-->
            <!--<li>这是第二个选项卡的DIV内容</li>-->
            <!--<li>这是第二个选项卡的DIV内容</li>-->
            <!--<li>这是第二个选项卡的DIV内容</li>-->
            <!--<li>这是第二个选项卡的DIV内容</li>-->
            <!--<li>这是第二个选项卡的DIV内容</li>-->
            <!--<li>这是第二个选项卡的DIV内容</li>-->
            <!--<li>这是第二个选项卡的DIV内容</li>-->
            <!--<li>这是第二个选项卡的DIV内容</li>-->
            <!--<li>这是第二个选项卡的DIV内容</li>-->
            <!--<li>这是第二个选项卡的DIV内容</li>-->
            <!--<li>这是第二个选项卡的DIV内容</li>-->
            <!--<li>这是第二个选项卡的DIV内容</li>-->
            <!--<li>这是第二个选项卡的DIV内容</li>-->
            <!--<li>这是第二个选项卡的DIV内容</li>-->
            <!--<li>这是第二个选项卡的DIV内容</li>-->
            <!--<li>这是第二个选项卡的DIV内容</li>-->
            <!--<li>这是第二个选项卡的DIV内容</li>-->
            <!--<li>这是第二个选项卡的DIV内容</li>-->
            <!--<li>这是第二个选项卡的DIV内容</li>-->
        <!--</ul>-->
    </div>

    <div class="dit">
        <!--<ul>-->
            <!--<li>这是第三个选项卡的DIV内容</li>-->
            <!--<li>这是第三个选项卡的DIV内容</li>-->
            <!--<li>这是第三个选项卡的DIV内容</li>-->
            <!--<li>这是第三个选项卡的DIV内容</li>-->
            <!--<li>这是第三个选项卡的DIV内容</li>-->
            <!--<li>这是第三个选项卡的DIV内容</li>-->
            <!--<li>这是第三个选项卡的DIV内容</li>-->
            <!--<li>这是第三个选项卡的DIV内容</li>-->
            <!--<li>这是第三个选项卡的DIV内容</li>-->
            <!--<li>这是第三个选项卡的DIV内容</li>-->
            <!--<li>这是第三个选项卡的DIV内容</li>-->
            <!--<li>这是第三个选项卡的DIV内容</li>-->
            <!--<li>这是第三个选项卡的DIV内容</li>-->
            <!--<li>这是第三个选项卡的DIV内容</li>-->
            <!--<li>这是第三个选项卡的DIV内容</li>-->
            <!--<li>这是第三个选项卡的DIV内容</li>-->
            <!--<li>这是第三个选项卡的DIV内容</li>-->
            <!--<li>这是第三个选项卡的DIV内容</li>-->
            <!--<li>这是第三个选项卡的DIV内容</li>-->
            <!--<li>这是第三个选项卡的DIV内容</li>-->
        <!--</ul>-->
    </div>

    <div class="dit">
        <!--<ul>-->
            <!--<li>这是第四个选项卡的DIV内容</li>-->
            <!--<li>这是第四个选项卡的DIV内容</li>-->
            <!--<li>这是第四个选项卡的DIV内容</li>-->
            <!--<li>这是第四个选项卡的DIV内容</li>-->
            <!--<li>这是第四个选项卡的DIV内容</li>-->
            <!--<li>这是第四个选项卡的DIV内容</li>-->
            <!--<li>这是第四个选项卡的DIV内容</li>-->
            <!--<li>这是第四个选项卡的DIV内容</li>-->
            <!--<li>这是第四个选项卡的DIV内容</li>-->
            <!--<li>这是第四个选项卡的DIV内容</li>-->
            <!--<li>这是第四个选项卡的DIV内容</li>-->
            <!--<li>这是第四个选项卡的DIV内容</li>-->
            <!--<li>这是第四个选项卡的DIV内容</li>-->
            <!--<li>这是第四个选项卡的DIV内容</li>-->
            <!--<li>这是第四个选项卡的DIV内容</li>-->
            <!--<li>这是第四个选项卡的DIV内容</li>-->
            <!--<li>这是第四个选项卡的DIV内容</li>-->
            <!--<li>这是第四个选项卡的DIV内容</li>-->
            <!--<li>这是第四个选项卡的DIV内容</li>-->
            <!--<li>这是第四个选项卡的DIV内容</li>-->
        <!--</ul>-->
    </div>
    
</div>
<script>

    var li = document.getElementById('box1');
    var div = document.getElementsByClassName('dit');

    Object.keys(li.children).forEach(function (value) {
        li.children[value].addEventListener('click',function () {
            // 点击的时候显示相对应的div内容 显示之前把其他的div内容都隐藏
            for (var i = 0; i < li.children.length; i++) {
                li.children[i].style.color = 'black';
                li.children[i].style.borderBottom = '';
                div[i].style.display = 'none';
            }
            // 全部隐藏后显示当前点击对应的DIV标签
            li.children[value].style.color = 'red';
            li.children[value].style.borderBottom = '2px solid red';
            div[value].style.display = 'block';

            // 获取后端数据
            var request = new XMLHttpRequest();
            request.onreadystatechange = function () {
                if (request.readyState === 4){
                    div[value].innerHTML = request.responseText;
                }
            };
            request.open('get','admin/data.php?p='+value,true);
            request.send(null);

        },false);
    });

    // 打开页面后默认显示第一个标签内容方法
    // 第一种
    // var request = new XMLHttpRequest();
    // request.onreadystatechange = function () {
    //     if (request.readyState === 4){
    //         div[0].innerHTML = request.responseText;
    //     }
    // };
    // request.open('get','admin/data.php?p='+0,true);
    // request.send(null);
    //
    // li.children[0].style.color = 'red';
    // li.children[0].style.borderBottom = '2px solid red';


    // 第二种 自动点击方法
    // 模拟机器人点击操作,获取默认页数据,这里点击第一个li标签

    // 获取到要点击的标签
    var defaultTab = li.firstElementChild;
    // 给标签添加点击事件
    defaultTab.addEventListener('click',show,false);
    // 因为要自动点击 不是认为点击 所以要实例化一下
    var event = new Event('click');
    // 把事件分配给标签 让标签自动执行这个点击事件 不需要认为点击
    defaultTab.dispatchEvent(event);
    
    function show() {
        var request = new XMLHttpRequest();
        request.onreadystatechange = function () {
            if (request.readyState === 4){
                div[0].innerHTML = request.responseText;
            }
        };
        request.open('get','admin/data.php?p='+0,true);
        request.send(null);

        li.children[0].style.color = 'red';
        li.children[0].style.borderBottom = '2px solid red';

    }
</script>
</body>
</html>

运行实例 »

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


php页面

实例

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2019/5/16 0016
 * Time: 12:16
 */

$data = [
  '<ul>
            <li>这是第一个选项卡的DIV内容</li>
            <li>这是第一个选项卡的DIV内容</li>
            <li>这是第一个选项卡的DIV内容</li>
            <li>这是第一个选项卡的DIV内容</li>
            <li>这是第一个选项卡的DIV内容</li>
            <li>这是第一个选项卡的DIV内容</li>
            <li>这是第一个选项卡的DIV内容</li>
            <li>这是第一个选项卡的DIV内容</li>
            <li>这是第一个选项卡的DIV内容</li>
            <li>这是第一个选项卡的DIV内容</li>
            <li>这是第一个选项卡的DIV内容</li>
            <li>这是第一个选项卡的DIV内容</li>
            <li>这是第一个选项卡的DIV内容</li>
            <li>这是第一个选项卡的DIV内容</li>
            <li>这是第一个选项卡的DIV内容</li>
            <li>这是第一个选项卡的DIV内容</li>
            <li>这是第一个选项卡的DIV内容</li>
            <li>这是第一个选项卡的DIV内容</li>
            <li>这是第一个选项卡的DIV内容</li>
            <li>这是第一个选项卡的DIV内容</li>
        </ul>',
    '<ul>
            <li>这是第二个选项卡的DIV内容</li>
            <li>这是第二个选项卡的DIV内容</li>
            <li>这是第二个选项卡的DIV内容</li>
            <li>这是第二个选项卡的DIV内容</li>
            <li>这是第二个选项卡的DIV内容</li>
            <li>这是第二个选项卡的DIV内容</li>
            <li>这是第二个选项卡的DIV内容</li>
            <li>这是第二个选项卡的DIV内容</li>
            <li>这是第二个选项卡的DIV内容</li>
            <li>这是第二个选项卡的DIV内容</li>
            <li>这是第二个选项卡的DIV内容</li>
            <li>这是第二个选项卡的DIV内容</li>
            <li>这是第二个选项卡的DIV内容</li>
            <li>这是第二个选项卡的DIV内容</li>
            <li>这是第二个选项卡的DIV内容</li>
            <li>这是第二个选项卡的DIV内容</li>
            <li>这是第二个选项卡的DIV内容</li>
            <li>这是第二个选项卡的DIV内容</li>
            <li>这是第二个选项卡的DIV内容</li>
            <li>这是第二个选项卡的DIV内容</li>
        </ul>',
    '<ul>
            <li>这是第三个选项卡的DIV内容</li>
            <li>这是第三个选项卡的DIV内容</li>
            <li>这是第三个选项卡的DIV内容</li>
            <li>这是第三个选项卡的DIV内容</li>
            <li>这是第三个选项卡的DIV内容</li>
            <li>这是第三个选项卡的DIV内容</li>
            <li>这是第三个选项卡的DIV内容</li>
            <li>这是第三个选项卡的DIV内容</li>
            <li>这是第三个选项卡的DIV内容</li>
            <li>这是第三个选项卡的DIV内容</li>
            <li>这是第三个选项卡的DIV内容</li>
            <li>这是第三个选项卡的DIV内容</li>
            <li>这是第三个选项卡的DIV内容</li>
            <li>这是第三个选项卡的DIV内容</li>
            <li>这是第三个选项卡的DIV内容</li>
            <li>这是第三个选项卡的DIV内容</li>
            <li>这是第三个选项卡的DIV内容</li>
            <li>这是第三个选项卡的DIV内容</li>
            <li>这是第三个选项卡的DIV内容</li>
            <li>这是第三个选项卡的DIV内容</li>
        </ul>',
    '<ul>
            <li>这是第四个选项卡的DIV内容</li>
            <li>这是第四个选项卡的DIV内容</li>
            <li>这是第四个选项卡的DIV内容</li>
            <li>这是第四个选项卡的DIV内容</li>
            <li>这是第四个选项卡的DIV内容</li>
            <li>这是第四个选项卡的DIV内容</li>
            <li>这是第四个选项卡的DIV内容</li>
            <li>这是第四个选项卡的DIV内容</li>
            <li>这是第四个选项卡的DIV内容</li>
            <li>这是第四个选项卡的DIV内容</li>
            <li>这是第四个选项卡的DIV内容</li>
            <li>这是第四个选项卡的DIV内容</li>
            <li>这是第四个选项卡的DIV内容</li>
            <li>这是第四个选项卡的DIV内容</li>
            <li>这是第四个选项卡的DIV内容</li>
            <li>这是第四个选项卡的DIV内容</li>
            <li>这是第四个选项卡的DIV内容</li>
            <li>这是第四个选项卡的DIV内容</li>
            <li>这是第四个选项卡的DIV内容</li>
            <li>这是第四个选项卡的DIV内容</li>
        </ul>'

];

$index = $_GET['p'];
echo $data[$index];

运行实例 »

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

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