表单总结

一.表单
   基本语法:
      <form method="表单提交方式(post/get)" action="表单提交地址">
   
      </form>
  
二.input元素
   type:代表input元素类型
   name: 表单元素名称
   value: 表单元素初始值
   size: 表单宽度
   maxLength: 输入的最大字符数
   checked: 主要用于单选或多选按钮,代表默认选中
 
三.常用表单元素
 
   1.普通文本框

       <input type="text" name="username" value="王" size="30px" maxlength="10"/>

 
   2.密码框

        <input type="password" name="password" size="30" maxlength="16"/>
 
   3.单选按钮(name属性必须有,值相同)  
      <input type="radio" name="gender" value="男" checked/>
      <input type="radio" name="gender" value="女"/>
  
   4.多选按钮(name属性必须有,值相同,可以选择多个)
      <input type="checkbox" name="hobby" value="睡觉" checked/>睡觉
          <input type="checkbox" name="hobby" value="吃饭"/>吃饭
          <input type="checkbox" name="hobby" value="打豆豆"/>打豆豆
  
 5.下拉框(name属性必须有,size代表初始显示项数)
      <select name="address">
                    <option value="北京" name="bj">北京</option>
                    <option value="上海" name="sh">上海</option>
                    <option value="南京" name="nj">南京</option>
                    <option value="山东" name="sd" selected>山东</option>
                    <option value="西安" name="xa">西安</option>
          </select>

图例:

   

 6.按钮
      button普通按钮:<input type="button" name="button" value="普通按钮"/>
        reset按钮:(重置表单数据)<input type="reset" name="reset" value="重置按钮"/>
        submit提交按钮:<input type="submit" name="submit" value="提交按钮"/>
        image图像按钮(同样会提交表单数据):<input type="image" src="../image/login.gif" name="image"/>
  
 7.多行文本域

  <textarea name="textarea" rows="20" cols="50"></textarea>
 
 8.文件域
    <form action="" method="post" enctype="multipart/form-data">
       <input type="file" name="files" />
  
    </form>

 9.email自动验证:

    <input type="email" name="email"/>

图例:

   

10.网址自动验证:

   <input type="url" name="url"/>

图例:

  

11.数字: 

  <input type="number" min="0" max="100" step="5" name="number"/>

  图例:
         

12.特定范围内的数值选择器

  <input type="range" step="2" min="0" max="10" value="2"/>

min:起始点,max:最大值,value:当前值,step:每次跳几步

  图例:

    

        
13.搜索框:

  <input type="search" name="search"/>

图例:

   

 

14.电话号码: 

  <input type="tel" name=""/>

  

 

15.特定范围内的数值选择器

  <input type="range" step="2" min="0" max="10" value="2"/>

min:起始点,max:最大值,value:当前值,step:每次跳几步

  图例:

    

 

 

16.颜色选择器

  <input type="color" name=""/>

  图例:

    

 

17.time:显示时间

  <input type="time" name=""/>

  图例:

    

18.:显示日期

  <input type="date" name=""/>

  图例:

    

19.:显示周

  <input type="week" name=""/>

  图例:

    

20.:显示月

  <input type="month" name=""/>

  图例:

     

20.:输入框显示信息

  <input type="type" placeholder="输入4~16个字符"/>

  图例:

    

21.:是否保存用户输入值:默认为on,关闭为off

  <input type="type" name=““  autocomplete=“off”/>

  图例:

    

22.指定表单获取输入焦点

  <input type="type" name=“user“  autofocus/>

  <input type="password" name=“password“ />

  图例:

    

22.此项必填,不能为空

  <input type="type" name=“user“  required/>

  <input type="password" name=“password“  required/>

  图例:

    

23.正则验证

  <input type="text" name=“user“  pattern="\d{1,5}"/>

  图例:

    

24.在submit里定义提交地址

  <form action="" method="get">
    <input type="text" name="user" pattern="\d{1,5}"/>
    <input type="submit" value="提交"/>
    <input type="submit"  value="保存至草稿箱" formaction=“www.baidu.com”/>
   </form>

在Opera浏览器下有用

四.表单的高级应用
 
   1.隐藏域(在表单当中不会显示,但是确实存在数据,当提交时会将隐藏用于数据一起提交)
      <input type="hidden" value="666" name="userid">

   2.只读和禁用
      <input name="name" type="text" value="张三"  readonly>
      <input type="submit "  disabled   value="保存" >
   3.标注(光标定位)
      <label for="id">标注的文本</label>
      <input type="radio" name="gender" id="male"/>
  
五.表单的验证

    
  

  <form action="" method="get">
    <input type="text" required id="text"/>
    <input type="submit" value="提交"/>
  </form>

  <script>

    var oText=document.getElementById('text');

    oText.addEventListener('invalid',fn,false);

    function fn(){

      alert(this.validity);

      alert(this.validity.valid);

   //1.valueMissing:输入值为空

      alert(this.validity.valueMissing);//true

   //2.typeMismatch:控件值与预期类型不匹配返回true

      alert(this.validity.typeMismatch);//<input type="email" id="text"/>==>true

   //3.patternMismatch:输入值不满足pattern正则返回true

      alert(this.validity.typeMismatch)//<input type="text" id="text" pattern="\d{1,5}"/>==>true

   //4.tooLong:超过maxLength最大限制

      alert(this.validity.tooLong)//<input type="email" id="text" maxlength="5"/>==>true

      

   //5.rangeUnderflow:验证的range的最小值

   //6.rangeOverflow:验证的range的最大值

   //7.stepMismatch:验证的range的当前值是否符合min max step的规则

      alert(this.validity.tooLong)//<input type="range" id="text" max="10" min="0" step="2"/>==>true

   //customError不符合自定义验证

      oText.oninput=function(){

        this.setCustomValidity("请不要输入敏感词")

      }else{

        this.setCustomValidity("")

        }

      }

      function fn(){

        alert(this.validity.customError)

        ev.preventDefault();

      }

      ev.preventDefault();

    }

  </script> 

    

 

 

posted @ 2019-05-15 13:55  前端开创者123  阅读(211)  评论(0编辑  收藏  举报