1. 程式人生 > >表單總結

表單總結

method inpu img 默認 element lac too 應用 omv

一.表單
   基本語法:
     <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> 

    技術分享圖片

技術分享圖片

表單總結