js 进行表单验证 细节显示各种功能 详细解说每一步

表单验证

  1. 表单是网站获取用户信息的主要途径,用户输入或选择的就是数据,将来存储到数据库中。
  2. 表单的作用是什莫?表单验证是JS很重要的功能,防止逻辑上错误的数据提交给服务器,减少和服务器的通信次数,降低服务器的
    负担
    原则:能在浏览器中通过JS进行验证就不提交给服务器进行验证。
<!DOCTYPE html>
<html>
    <head>
        <meta charser="utf-8">
        <title>js的表单验证</title>
        <style type="text/css">
            span{
                color: red;
                font-size: 8px;
              }
        </style>
        <script type="text/javascript">
                window.onload=function(){
                        function $(_id){
                            return document.getElementById(_id);
                        }
                        var form1=$("form1");
                        var userName=$("userName");
                        var userNameTips=$("userNameTips");
                        var pwd1=$("pwd1");
                        var pwd1Tips=$("pwd1Tips");
                        var pwd2=$("pwd2");
                        var pwd2Tips=$("pwd2Tips");
                        var sexsTips=$("sexsTips");
                        var city=$("city");
                        var cityTips=$("cityTips");

                        var sexs=document.getElementsByName("sex");
                        //解决表单内容什么也不写直接点级确定按钮表单直接跳转问题
                        form1.onsubmit=function(event){
                        //当用户名为空阻止页面跳转     event阻止跳转
                            if(userName.value==""){
                                 userNameTips.innerText="用户名为空";
                                 event.preventDefault();
                            }
                            //没写密码报错
                            if(pwd1.value==""){
                                 pwd1Tips.innerText="密码为空";
                                 event.preventDefault();
                            }
                            //没写确认密码报错
                            if(pwd2.value==""){
                                 pwd2Tips.innerText="确认密码还未输入";
                                 event.preventDefault();
                            }
                            //没选择性别报错
                            if(!(sexs[0].checked || sexs[1].checked)){
                                 sexsTips.innerText="请选择性别";
                                 event.preventDefault();
                            }
                            if(city.options[0].selected){
                                 cityTips.innerText="请选择所在的城市";
                                 event.preventDefault();
                            }
                         }
                       //给userName设置焦点
                       userName.onfocus=function(){
                             userNameTips.innerText="";
                       }
                       //给pwd1设置焦点并且在点击pwd1获取焦点时清空pwd2里面的错误提示
                       pwd1.onfocus=function(){
                             pwd1Tips.innerText="";
                             pwd2Tips.innerText="";
                       }
                       //选择性别后清空报错提示 并赋值改变事件     性别两个写在一起如果看着不顺眼那麽可以分开写
                       sexs[0].onchange=sexs[1].onchange=function(){
                             sexsTips.innerText="";
                       }
                       //选择城市后  清空报错提示并赋值改变事件
                       city.onchange=function(){
                             cityTips.innerText="";
                       }
                       //用户名不足六个字符报错  并设置改变事件 length代表字符段的长度
                       userName.onchange=function(){
                             if(userName.value.length<6){
                                    userNameTips.innerText="用户名不能少于6个字符";
                                    
                             }
                       }
                      //两次密码不相等报错  重新获取焦点
                      pwd2.onchange=function(){
                            if(pwd2.value!=pwd1.value){
                                 pwd2Tips.innerText="两次密码不相等";
                                 pwd1.value="";
                                 pwd1.value="";
                                 }
                       } 
                    }
        </script>
    </head>
    <body>
    <form action="http://www.tmall.com" id="form1" method="get">
        <label for="userName">输入用户名:</label>
        <input type="text" name="" id="userName" value=""><br/> 
        <span id="userNameTips"></span><br/>
        <label for="pwd1">输入密码:</label>
        <input type="password" name="" id="pwd1" value=""><br/> 
        <span id="pwd1Tips"></span><br/>
        <label for="pwd2">确认密码:</label>
        <input type="password" name="" id="pwd2" value=""><br/>
        <span id="pwd2Tips"></span><br/>
        <input type="radio" name="sex" id="" value="nan"><input type="radio" name="sex" id="" value="nv"><span id="sexsTips"></span><br/>
        <select id="city">
              <option value="" selected>请选择城市</options>
              <option value="hz">杭州</option>
              <option value="sh">上海</option>
              <option value="bj">北京</option>
              <option value="sz">深圳</option>
        </select> 
        <span id="cityTips"></span><br/>
        <input type="submit" name="" id="sb1" value="确定">

        

    </form>
    </body>
</html> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值