1. form表單有什么作用?有哪些常用的input 標簽,分別有什么作用?
表單是一個包含表單元素的區域,允許用戶在表單區域中輸入信息,用于收集不同類型的用戶輸入。
input標簽使用type屬性的值來規定input元素的類型,常見有以下類型:
- button——定義可點擊的按鈕
- checkbox——定義復選框
- radio——定義單選按鈕
- text——定義單行輸入框,可在其中輸入文本
- file——定義輸入字段和“瀏覽”按鈕,供文件上傳
- hidden——定義隱藏的輸入字段
- image——定義圖像形式的提交按鈕
- password——定義密碼字段,該字段中的字符被掩碼
- reset——定義重置按鈕,用于清除表單中的所有數據
- submit——定義提交按鈕,把表單數據發給服務器
2. post 和 get 方式有什么區別?
POST和GET是使用HTTP協議在客戶機和服務器之間進行請求-響應時,兩種最常用到的方法。
GET常用于向指定的資源請求數據,使用GET時,請求時發送的表單數據會顯式附在URL之后,多個參數也會使用&連接,一起附在URL上,雖然http協議沒有對傳輸數據大小的限制,也沒有對URL長度的限制,但實際開發中特定的瀏覽器和服務器對于URL的長度是有限制的,這就導致使用GET方法時,傳輸數據會受到URL限制。同時由于數據明文傳輸,使得GET所提交數據的安全性無法得到保障,當頁面被收藏為書簽,或被瀏覽器緩存,或者其他人查看瀏覽器記錄時,就很容易看到所提交的數據。但GET對服務器上被get的指定數據來說是安全的,一份數據不管被GET請求多少次,都只是在對這份數據進行查詢操作,這份數據本身是不會改變的。
POST常用于向指定的資源提交要被處理的數據,這對被指定資源來說是不安全的,因為POST方法會更新指定資源的數據。POST提交的數據是放置在HTTP消息主體中的,URL不會因為POST請求發生改變,這樣所傳輸數據的大小理論上就不受限制了,但在實際應用中還是會受到各個web服務器配置的限制,但對比GET方法來說,POST已是傳輸大量數據的更佳選擇。由于POST傳輸的數據都放在HTTP包中,所以POST對于所傳輸的數據更安全,URL中不會顯示數據內容,頁面也無法被瀏覽器緩存或收藏,也不會從瀏覽器歷史記錄中暴露數據內容。但如果在POST傳輸數據中選擇“后退”操作,會導致表單數據可能重復提交。
綜上可以看出,在搜索引擎中檢索信息時,應使用GET方法,而在注冊、登錄、提交用戶信息等場景中,應使用POST方法。
3. 在input里,name 有什么作用?
name 屬性規定 input 元素的名稱,用于對提交到服務器后的表單數據進行標識,或者在客戶端提供給 JavaScript,使其可以引用表單數據。
4. radio 如何 分組?
具有相同 name 屬性值的 radio 為同一組,例如:
<input type="radio" name="sex" value="male" checked>男
<input type="radio" name="sex" value="female" >女
5. placeholder 屬性有什么作用?
提供可描述輸入字段預期值的提示信息,該提示會在輸入字段為空時顯示,并會在字段獲得焦點時消失。
6. type=hidden隱藏域有什么作用? 舉例說明
type屬性值定義為hidden可定義隱藏字段。隱藏字段對于用戶是不可見的。隱藏字段通常會存儲一個默認值,它們的值也可以由 JavaScript 進行修改。
一方面隱藏數據可以暫存數據,例如用戶不需要見到,但操作網頁時可能用到的數據;另一方面可以提高安全性,例如,頁面提交表單時可通過type=hidden設置一段隱藏的按照預先算法約定好的隨機字段,服務器在受到表單數據時對這個隱藏字段進行校驗,來識別該表單數據來源是否可靠,從而避免服務器數據被假頁面提交的數據攻擊篡改。