黑马程序员技术交流社区

标题: HTML的表单标签及校验 [打印本页]

作者: 水煮牛蛙    时间: 2018-5-3 16:18
标题: HTML的表单标签及校验
本帖最后由 小石姐姐 于 2018-5-4 09:43 编辑

HTML的表单标签及校验
1.HTML的表单标签:<form>
             * 常用属性:
                  * action属性:提交的路径.默认提交到当前页面
                  * method属性:请求的方式.GET和POST.默认是GET.
                      ***** GET方式和POST方式的区别?
                           * GET        :数据会显示到地址栏中.GET方式提交是有大小的限制.
                           * POST        :数据不会显示到地址栏中.POST方式提交的是没有大小限制.
                                         *有很多提交方式,只是get和post比较常用


2.HTML中表单元素:
                * <input type=”text”>                :文本框.
                    * 常用属性:
                        * name        :表单元素的名称.必须有name属性,然后后台才可以接收数据.
                        * value        :文本框的默认值.
                        * size        :文本框的长度.
                        * maxlength:文本框输入的最大长度.
                        * readonly:只读文本框.
                            *disable : 废弃,定义该属性后,表单变灰
                * <input type=”password”>        :密码框.
                    * 常用属性:
                        * name        :表单元素的名称.必须有name属性,然后后台才可以接收数据.
                        * value        :密码框的默认值.
                        * size        :密码框的长度.
                        * maxlength:密码框输入的最大长度.
                        
               
                * <input type=”radio”>                :单选按钮.
                    * 常用的属性:
                        * name        :表单元素的名称.必须有name属性,然后后台才可以接收数据.
                        * value        :单选按钮的默认值.(必须定义值)
                        * checked:单选按钮默认被选中.
               
                * <input type=”checkbox”>        :复选按钮.
                 * 常用的属性:
                        * name        :表单元素的名称.必须有name属性,然后后台才可以接收数据.
                        * value        :单选按钮的默认值.(必须定义值)
                        * checked:单选按钮默认被选中.
                           
               
                * <input type=”button”>                :普通按钮.没有任何功能的按钮.
                * <input type=”submit”>                :提交按钮.
                * <input type=”reset”>                :重置按钮.
                * <input type=”file”>                :文件上传的表单项.
                * <input type=”hidden”>                :隐藏字段.
                * <input type=”image”>                :图片按钮
               
                * <select>                                        :下拉列表.
                * <textarea>                                :文本域.
               
                下拉列表
                         <select name="province">
                <option>--请选择--</option>
                <option value="北京" selected>北京</option>          :必需要有值value,实际选中的是value值,在页面中开到的值只是用来展示的
                     <option value="上海">上海</option>
                <option value="广州">广州</option>
                </select>
                * 文本域:
                <textarea cols="20" rows="4" name="info">我是:</textarea>


3.表单的校验
        3.1提交校验:
                3.1.1 JavaScript 的表单校验方法
               
                        在form标签中添加提交事件,出发的函数返回true时提交,false阻止提交
                        <form action="想跳转到的网页.html" method="post">
                                
                3.1.2 JQuery 的表单校验方法
               
                        1.给form标签动态绑定提交事件
                        2.使用JQuery事件中的  trigger(type,[data]) 事件,再次触发表单校验事件
                          对校验结果进行判断,如果输入不符合要求,该提交事件触发的函数返回一个false组织提交,
                          否则不返回值,提交成功.
                                         trigger(type,[data]) 事件:
                                                        在每一个匹配的元素上触发某类事件。
                                                        这个函数也会导致浏览器同名的默认行为的执行。比如,如果用trigger()触发
                                                        一个'submit',则同样会导致浏览器提交表单。如果要阻止这种默认行为,应返回false。
                        
                        
                        $("form").submit(function(){
                                $("form input[class='required']").trigger("blur");
                                //获取错误信息
                                var errorLength = $(".onError").length;
                                if(errorLength > 0){
                                        return false;
                                }
                        });
                        
        3.2数据校验
                                绑定一个失去焦点事件(blur),然后可以再链接其它的事件(比如键盘抬起,获取焦点),
                                这些链接的事件使用triggerHandler事件触发blur事件的函数,就可以实现校验.
                                $("form input").blur(function(){
                                        //获得该元素的父元素
                                        var $parent = $(this).parent();
                                       
                                        //将原有的信息清楚掉
                                        $parent.find(".formtips").remove();
                                       
                                        //确定输入项
                                        //如果是用户名
                                        if($(this).is("#userName")){
                                                //判断用户名是否为空
                                                if(this.value == ""){
                                                        //添加错误提示
                                                        $parent.append("<font class='formtips onError'>用户名不能为空</font>");
                                                }else{
                                                        //添加正确信息
                                                        $parent.append("<font class='formtips onSuccess'>输入正确</font>");
                                                }
                                        }
                                       
                                        //如果是密码框
                                        if($(this).is("#password")){
                                                if(this.value == ""){
                                                        $parent.append("<font class='formtips onError'>密码不能为空</font>");
                                                }else{
                                                        $parent.append("<font class='formtips onSuccess'>输入正确</font>");
                                                }
                                        }
                                       
                                }).keyup(function(){
                                        //绑定键盘抬起事件
                                        $(this).triggerHandler("blur");
                                }).focus(function(){
                                        $(this).triggerHandler("blur");
                                });
4.HTML5扩展的表单标签:
                        <input type=”email”>  :输入的数据要符合邮箱的格式
                        <input type=”date”>  :日期选择
                        <input type=”number”> :只能输入数字
                        <input type=”color”>   :产生一个颜色块;






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2