Form表單

Form表單有什么作用

表單的作用是搜集用戶的輸入信息,用戶提交表單時向服務器傳輸數據,從而實現用戶與web服務器的交互。

有哪些常用的input 標簽,分別有什么作用?

type="text" 定義單行輸入文本框

type="button" 定義按鈕

type="checkbox" 定義復選框,可多選

type="radio" 定義單選框,只能單選,并且所有單選框的name值一套保持一致,這樣才能生效

type="submit" 定義提交按鈕

type="password" 定義密碼,輸入時*代替輸入值,看不到輸入值

type="reset" 定義重置按鈕,重置后表單重回默認時的狀態

type="color" html5中用于指定顏色的控件

type="date" html5中用于輸入日期的控件

post和get的區別

最直觀的區別就是GET把參數包含在URL中,POST通過request body傳遞參數。

GET在瀏覽器回退時是無害的,而POST會再次提交請求。

GET產生的URL地址可以被Bookmark,而POST不可以。

GET請求會被瀏覽器主動cache,而POST不會,除非手動設置。

GET請求只能進行url編碼,而POST支持多種編碼方式。

GET請求參數會被完整保留在瀏覽器歷史記錄里,而POST中的參數不會被保留。

GET請求在URL中傳送的參數是有長度限制的,而POST沒有。

對參數的數據類型,GET只接受ASCII字符,而POST沒有限制。

GET比POST更不安全,因為參數直接暴露在URL上,所以不能用來傳遞敏感信息。

GET參數通過URL傳遞,POST放在Request body中。

在input里,name 有什么作用?

name 屬性規定 input 元素的名稱。用于對提交到服務器后的表單數據進行標識,或者在客戶端通過 JavaScript 引用表單數據。只有設置了 name 屬性的表單元素,POST和GET的時候name和input中的值會形成鍵/值對,才能在提交表單時傳遞它們的值

用途1:作為可與服務器交互數據的HTML元素的服務器端的標示,比如input、select、textarea、和button等。我們可以在服務器端根據其Name通過Request.Params取得元素提交的值。

用途2:HTML元素Input type='radio'分組,我們知道radio button控件在同一個分組類,check操作是mutex的,同一時間只能選中一個radio,這個分組就是根據相同的Name屬性來實現的。

用途3:建立頁面中的錨點,我們知道link是獲得一個頁面超級鏈接,如果不用href屬性,而改用Name,如:,我們就獲得了一個頁面錨點。

用途4:作為對象的Identity,如Applet、Object、Embed等元素。比如在Applet對象實例中,我們將使用其Name來引用該對象。

用途5:在IMG元素和MAP元素之間關聯的時候,如果要定義IMG的熱點區域,需要使用其屬性usemap,使usemap="#name"(被關聯的MAP元素的Name)。

用途6:某些特定元素的屬性,如attribute,meta和param。例如為Object定義參數或Meta中。

radio如何進行分組

radio通過name屬性值來進行分組 具有相同的name屬性值的radio為一組

placeholder 屬性有什么作用?

placeholder屬性一般會在輸入框有一個提示信息,該提示會在輸入字段為空時顯示,并會在字段獲得焦點時消失。但是要注意:

1 ?placeholder 屬性適用于以下的類型:text, search, url, telephone, email 以及 password

2 ?placeholder為HTML5的新屬性

type=hidden隱藏域有什么作用? 舉例說明

隱藏域在頁面中對于用戶是不可見的,在表單中插入隱藏域的目的在于收集或發送信息,以利于被處理表單的程序所使用。瀏覽者單擊發送按鈕發送表單的時候,隱藏域的信息也被一起發送到服務器。例如可以防御CSRF(Cross-site request forgery,跨域請求偽造)攻擊,解決辦法: 在Form表單加一個hidden field,里面是服務端生成的足夠隨機數的一個Token(惡意網站猜不到也無法獲取到相同的Token), 然后使用一個攔截器interceptor來檢查每一個非get請求, 看該token與服務器token是否一致,不一致的不受理該請求

下面列舉一些隱藏域的使用場景:

有些時候我們要給用戶一信息,讓他在提交表單時提交上來以確定用戶身份,如sessionkey等。當然這些東西也能用cookie實現,但使用隱藏域就簡單的多了.而且不會有瀏覽器不支持,用戶禁用cookie的煩惱。

有些時候一個form里有多個提交按鈕,怎樣使程序能夠分清楚到底用戶是按那一個按鈕提交上來的呢?我們就可以寫一個隱藏域,然后在每一個按鈕處加上onclick=”document.form.command.value=”xx””然后我們接到數據后先檢查command的值就會知道用戶是按的那個按鈕提交上來的。

有時候一個網頁中有多個form,我們知道多個form是不能同時提交的,但有時這些form確實相互作用,我們就可以在form中添加隱藏域來使它們聯系起來。


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1.form表單有什么作用?有哪些常用的input 標簽,分別有什么作用? HTML 表單用于接收不同類型的用戶輸...
    大胡子歌歌閱讀 930評論 0 1
  • form表單有什么作用?有哪些常用的input 標簽,分別有什么作用? 標簽用于為用戶創建HTML表單,并向服務器...
    zx9426閱讀 609評論 0 1
  • 什么是FORM表單: 表單是用來提交資料、意見,規范流程執行過程的格式。表單在網頁中主要負責數據采集功能。一個表單...
    PYFang閱讀 1,162評論 0 0
  • 1.動手 form 表單table 表格 2. <form>表單元素 1) 簡述: 元素是塊級元素,其開始標簽和結...
    _Dot912閱讀 2,062評論 2 8
  • 六 擁有一個取景框,這是人類認知與觀看世界的方式。人類社會大多數情景下——都是通過框架來觀看事物。北歐人的日常生活...
    詩哲魂閱讀 758評論 0 6