1. 程式人生 > >JavaScript之form(表單)

JavaScript之form(表單)

編碼 表單 數據 獲取 str set get 外部 實體

一、表單的獲取方式

  1,document.getElementById() //通過表單的Id

  2, document.forms[index];  //文件中的第幾個表單

  3,document.forms[form name]   //表單的名字

  4,document.form_name   //直接用表單名字獲取

二、表單的對象的屬性

  get方式和post方式的區別

    1. get方式會將提交的數據以(?name1=value1&name2=value2...)放在url後面

      post方式會將數據以(name1=value1&name2=value2...)放在“請求實體”中

    2. get將數據放在url後,由於url是有長度的,且url是可見,所以get方式不適合發送一些敏感數據

      post方式將數據放在“請求實體”中,理論上是無限制,post方式適合發送一些敏感數據

    3. get方式請求會有緩

     post方式請求不會有緩存

三、表單的編碼方式

  enctype的值的區別

    1. application/x-www-form-urlencoded(默認、且常用)

      無論post方式還是get方式提交,表單數據均以(name1=value1&name2=value2...)組織數據

    2.multipart/form-data(表單上傳文件時)

      1)get方式,表單以(name1=value1&name2=value2...)組織數據

      2)post方式,表單數據會放在類似於“------WebKitFormBoundaryGSF0lHBAvwWyAcuV”字符串中間

    3.text/plain

      1)get方式,表單以(name1=value1&name2=value2...)組織數據

      2)post方式,表單數據會以name1=value2,name2=value2,數據之間沒有連接符號

四、表單對象的事件

  1.對於表單中設置的提交、重置按鈕,會觸發onsubmit事件、onreset事件

  2.在表單外部通過submit()提交表單不會觸發onsubmit事件

  3.在表單外部通過reset()重置表單會觸發onreset事件

  4.我們將onsubmit事件、onreset事件返回一個false就可以阻止事件的執行

JavaScript之form(表單)