form表單有什么作用?有哪些常用的input標簽,分別有什么作用?
作用:表單用于接收不同類型的用戶輸入,用戶提交表單時向服務器傳輸數據,從而實現用戶與Web服務器的交互。
常用input標簽及作用:
text:單行文本
password:密碼,該字段中的字符被掩碼
radio:單選按鈕
checkbox:復選框
submit:提交按鈕
button:可點擊按鈕(多數情況下,用于通過 JavaScript 啟動腳本)
image:圖像形式的提交按鈕
reset:重置按鈕
file:輸入字段和 "瀏覽"按鈕,供文件上傳
hidden:隱藏的輸入字段
post和get方式的區別?
get和post是什么
get 和 post是兩種 HTTP 請求方法,在客戶機和服務器之間進行請求響應時,兩種最常被用到的方法是:get 和 post。
get:從指定的資源請求數據
post:向指定的資源提交要被處理的數據
區別:
get | post | |
---|---|---|
后退按鈕/刷新 | 無害 | 數據會被重新提交(瀏覽器應該告知用戶數據會被重新提交) |
書簽 | 可收藏為書簽 | 不可收藏為書簽 |
緩存 | 能被緩存 | 不能緩存 |
編碼類型 | application/x-www-form-urlencoded | application/x-www-form-urlencoded 或 multipart/form-data。為二進制數據使用多重編碼 |
歷史 | 參數保留在瀏覽器歷史中 | 參數不會保存在瀏覽器歷史中 |
對數據長度的限制 | 發送數據時,GET 方法向 URL 添加數據;URL 的長度是受限制的(URL 的最大長度是 2048 個字符) | 無限制 |
對數據類型的限制 | 只允許 ASCII 字符 | 沒有限制。也允許二進制數據 |
安全性 | 與 POST 相比,GET 的安全性較差,因為所發送的數據是 URL 的一部分,在發送密碼或其他敏感信息時絕不要使用 GET ! | POST 比 GET 更安全,因為參數不會被保存在瀏覽器歷史或 web 服務器日志中 |
可見性 | 數據在 URL 中對所有人都是可見的 | 數據不會顯示在 URL 中 |
在input里,name 有什么作用?
name 屬性規定 input 元素的名稱。
name 屬性用于對提交到服務器后的表單數據進行標識,或者在客戶端通過 JavaScript 引用表單數據。
注釋:只有設置了 name 屬性的表單元素才能在提交表單時傳遞它們的值。
radio 如何分組?
取決于name的值是否相同。
placeholder 屬性有什么作用?
placeholder 屬性提供可描述輸入字段預期值的提示信息(hint)。
該提示會在輸入字段為空時顯示,并會在字段獲得焦點時消失。
注釋:placeholder 屬性適用于以下的 <input> 類型:text, search, url, telephone, email 以及 password。
type=hidden隱藏域有什么作用? 舉例說明
- 隱藏域在頁面中對于用戶是不可見的,在表單中插入隱藏域的目的在于收集或發送信息,以利于被處理表單的程序所使用。瀏覽者單擊發送按鈕發送表單的時候,隱藏域的信息也被一起發送到服務器。
- 有些時候我們要給用戶一信息,讓他在提交表單時提交上來以確定用戶身份,如sessionkey,等等.當然這些東西也能用cookie實現,但使用隱藏域就簡單的多了.而且不會有瀏覽器不支持,用戶禁用cookie的煩惱。
- 有些時候一個form里有多個提交按鈕,怎樣使程序能夠分清楚到底用戶是按那一個按鈕提交上來的呢?我們就可以寫一個隱藏域,然后在每一個按鈕處加上onclick="document.form.command.value="xx""然后我們接到數據后先檢查command的值就會知道用戶是按的那個按鈕提交上來的。
- 有時候一個網頁中有多個form,我們知道多個form是不能同時提交的,但有時這些form確實相互作用,我們就可以在form中添加隱藏域來使它們聯系起來。
- javascript不支持全局變量,但有時我們必須用全局變量,我們就可以把值先存在隱藏域里,它的值就不會丟失了。
- 還有個例子,比如按一個按鈕彈出四個小窗口,當點擊其中的一個小窗口時其他三個自動關閉.可是IE不支持小窗口相互調用,所以只有在父窗口寫個隱藏域,當小窗口看到那個隱藏域的值是close時就自己關掉。