HTML 表單通常用於收集用戶輸入,用戶輸入會被蒐集到伺服器處理。<form>
元素用於為用戶輸入創建 HTML 表單。
<form> | |
/* form elements */ | |
</form> |
# The <Input> Element
<form>
擁有各式各樣的輸入容器,例如:單選、複選或提交按鈕。<input>
的使用樣式取決於我們設定的 type
屬性。
這裡是常用的樣式:
Type | Description |
---|---|
<input type="text"> | Display a single-line text input field |
<input type="radio"> | Displays a radio button (for selecting one of many choices) |
<input type="checkbox"> | Displays a checkbox (for selecting zero or more of many choices) |
<input type="submit"> | Displays a submit button (for submitting the form) |
<input type="button"> | Displays a clickable button |
請參考這篇 HTML - Input
# HTML Form Attributes
# Action Attribute
<action>
屬性定義提交表單時要執行的操作。
通常,當使用者提交表單後,表單數據會被發送到伺服器上的一個文件中。
<form action="/action_page.php"> | |
<label for="fname">First name:</label><br> | |
<input type="text" id="fname" name="fname" value="John"><br> | |
<label for="lname">Last name:</label><br> | |
<input type="text" id="lname" name="lname" value="Doe"><br><br> | |
<input type="submit" value="Submit"> | |
</form> |
NOTE: 如果省略
action
欄位,則預設為目前頁面。
# Target Attribute
target
屬性定義在何處顯示提交表單後收到的回應。
<form action="/action_page.php" target="_blank"> |
# Method Attribute
method
屬性定義 HTTP 要用何種方式傳送表單資料。
<form action="/action_page.php" method="get"> |
表單資訊會跟隨在網址後面,安全性較差。
<form action="/action_page.php" method="post"> |
NOTE on GET:
- 提交的表單資料會跟隨在 URL 後面,以 name/value 的形式。
- 永遠不要用 GET 發送敏感信息!!!
- URL 的長度限制為 2048 characters。
- 對於用戶想要為結果添加書籤的表單提交很有用
- GET 適用於非安全數據,例如 Google 中的查詢字符串
NOTE on POST:
- 在 HTTP 請求的正文中附加表單數據(提交的表單數據未顯示在 URL 中)。
- POST 沒有大小限制,可用於發送大量數據。
- 使用 POST 提交的表單不能添加書籤。
# Autocomplete Attribute
autocomplete
屬性決定是否開啟表單自動完成功能。
啟用自動完成後,瀏覽器會根據用戶之前輸入的值自動完成。
<form action="/action_page.php" autocomplete="on"> |