Blogger Information
Blog 31
fans 0
comment 1
visits 21142
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
用PHP+AJAX将表单中文本域验证完成,仅做非空与长度验证即可。2018年4月16日作业
杜苏华迈专注于物联网可视化管理的博客
Original
599 people have browsed it

作业截图.png


实例  前端代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>php处理表单</title>
    <style type="text/css">
        table {
            background-color: skyblue;
            box-shadow: 3px 3px 3px #888;
            border-radius: 3%;
            padding: 15px;
            margin: 30px auto;
        }
        table td {
            padding: 8px;
        }
        table caption {
            font-size: 1.5em;
            margin-bottom: 10px;
        }
        textarea {
            resize: none;
        }
        form table button {
            width: 100px;
            height: 30px;
            cursor: pointer;
            border: none;
            background-color: skyblue;
            color: white;
        }
        form table button:hover {
            background-color: orangered;
            color: white;
            font-size:1.1em;
        }
    </style>
</head>
<body>
    <form action="admin/check.php" method="post">
        <table>
            <caption>员工信息提交</caption>
            <tr>
                <td><label for="email">邮箱:</label></td>
                <td><input type="text" name="email" id="email" autofocus=""></td>
            </tr>
            <tr>
                <td><label for="password1">密码:</label></td>
                <td><input type="password" name="password1" id="password1"></td>
            </tr>
            <tr>
                <td><label for="password2">确认:</label></td>
                <td><input type="password" name="password2" id="password2"></td>
            </tr>
            <tr>
                <td><label for="secret">性别:</label></td>
                <td> <!-- 单选与众不同,点击标签会自动选择默认值 -->
                    <input type="radio" name="gender" id="male" value="male" ><label for="male">男</label>
                    <input type="radio" name="gender" id="female" value="female"><label for="female">女</label>
                    <input type="radio" name="gender" id="secret" value="secret" checked="" ><label for="secret">保密</label>
                </td>
            </tr>
            <tr>
                <td><label for="level">职位</label></td>
                <td>
                    <select name="level" id="level">
                        <option value="0" selected="">员工</option>
                        <option value="1" >主管</option>
                        <option value="2">经理</option>
                </select>
                </td>
            </tr>
            <tr>
                <td><label for="php">掌握开发语言:</label></td>
                <td>  <!-- 点击标签会把php做为默认项之一选中 -->
                    <input type="checkbox" name="lang[]" id="php" value="php"  checked><label for="php">php</label>
                    <input type="checkbox" name="lang[]" id="java" value="java"><label for="java">java</label>
                    <input type="checkbox" name="lang[]" id="python" value="php"><label for="python">python</label>
                    <input type="checkbox" name="lang[]" id="c" value="c"><label for="c">c</label>
                </td>
            </tr>
            <tr>
                <td valign="middle"><label for="comment  ">简介:</label></td>
                <td><textarea name="comment" id="comment" rows="3" cols="30"  placeholder=" 长度要求不少于13个字符"></textarea></td>
            </tr>
            <tr>
                <td colspan="2" align="center">
                    <button type="submit" name="submit" id="submit" value="submit">提交</button>
                </td>
            </tr>
        </table>
    </form>
    <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <script type="text/javascript">



        //请求邮箱验证
        $('#email').blur(function(){

            $.post('admin/check.php?check=email', 'email='+$('#email').val(), function(data){
                switch(data.status) {
                    case 0:
                    $('td').find('span').remove()
                    $('#email').after('<span>').next().text(data.msg).css('color', 'red').prev().focus();
                    break;
                    case 1:
                    $('td').find('span').remove()
                    $('#email').after('<span>').next().text(data.msg).css('color', 'red').prev().focus();
                    break;
                    case 2:
                    $('td').find('span').remove()
                    $('#email').after('<span>').next().text(data.msg).css('color', 'green')
                    break;
                }

            },'json')
        })


        //密码验证
        $('#password1').blur(function(){
            if ($('#email').val().length == 0) {
                return false
            }
            $.post('admin/check.php?check=password1','password1='+$('#password1').val(),function(data){
                if(data.status == 0) {
                    $('#password1').after('<span>').next().text(data.msg).css('color', 'red').prev().focus();
                }
            },'json')
        })

        //确认密码验证
        $('#password2').blur(function(){
            if ($('#email').val().length == 0) {
                return false
            }
            $.post('admin/check.php?check=password2', {
                password1: $('#password1').val(),
                password2: $('#password2').val()
            }, function(data){
                switch(data.status) {
                    case 0:
                    $('td').find('span').remove()
                    $('#password2').after('<span>').next().text(data.msg).css('color', 'red').prev().focus();
                    break;
                    case 1:
                    $('td').find('span').remove()
                    $('#password2').after('<span>').next().text(data.msg).css('color', 'red').prev().focus();
                    break;
                    case 2:
                    $('td').find('span').remove()
                    $('#password2').after('<span>').next().text(data.msg).css('color', 'green')
                    break;
                }

            },'json')


    //简介验证
        $('#comment').blur(function(){
            if ($('#email').val().length == 0 || $('#password1').val().length == 0 || $('#password1').val().length == 0) {
                return false
            }

            $.post('admin/check.php?check=comment', 'comment='+$('#comment').val(), function(data){
                switch(data.status) {
                    case 0:
                    $('td').find('span').remove()
                    $('#comment').after('<span>').next().text(data.msg).css('color', 'red').prev().focus();
                    break;

                    case 1:
                    $('td').find('span').remove()
                    $('#comment').after('<span>').next().text(data.msg).css('color', 'red').prev().focus();
                    break;

                    case 2:
                    $('td').find('span').remove()
                    $('#comment').after('<span>').next().text(data.msg).css('color', 'green').prev().focus();
                    break;
                }
            },'json')
        })

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

运行实例 »

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




实例  执行代码

<?php
// echo '<pre>';
// print_r($_POST);
 switch ($_GET['check']) {
 	//验证邮箱
 	case 'email':
		$email = $_POST['email']; // 设置默认值
		if (empty($email)) {
			exit(json_encode(['status'=>0,'msg'=>'邮箱不能为空']));
		} else if (in_array($email, ['admin@php.cn','zhu@php.cn'])){
			exit(json_encode(['status'=>1,'msg'=>'邮箱已占用']));
		} else {
			echo json_encode(['status'=>2,'msg'=>'邮箱可用']);
		}
 		break;

 	//验证密码
 	case 'password1':
 		$password1 = $_POST['password1'];
		if (empty($password1)) {
			exit(json_encode(['status'=>0,'msg'=>'密码不能为空']));
		}
		break;

	//验证确认密码
 	case 'password2':
 		$password1 = $_POST['password1'];
 		$password2 = $_POST['password2'];
		if (empty($password2)) {
			exit(json_encode(['status'=>0,'msg'=>'确认不能为空']));
		} else if ($password1 != $password2){
			exit(json_encode(['status'=>1,'msg'=>'二次密码不相等']));
		}  else {
			exit(json_encode(['status'=>2,'msg'=>'验证通过']));
		}
		break;

 //简介验证(仅做非空验证)
	case 'comment':
		$comment = $_POST['comment'];
		if (empty($comment)) {
			exit(json_encode(['status'=>0,'msg'=>'简介信息不能为空']));
		} else if (mb_strlen(trim($comment)) < 13) {
			exit(json_encode(['status'=>1,'msg'=>'简介输入长度小于13个字符,请重新输入大于13个字符']));
		} else {
			exit(json_encode(['status'=>2,'msg'=>'输入通过']));
		}


 }

运行实例 »

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





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