摘要:多個標簽原生表單部件通用屬性默認這個布爾屬性允許您指定當頁面加載時元素應該自動具有輸入焦點,除非用戶覆蓋它,例如通過鍵入不同的控件。元素的名稱這是用于表單數據提交的。到目前為止,表單是最常見的攻擊媒介可能發生攻擊的地方。
表單介紹
HTML表單是用戶和web站點或應用程序之間交互的主要內容之一。它們允許用戶將數據發送到web站點。大多數情況下,數據被發送到web服務器,但是web頁面也可以攔截它自己并使用它。
HTML表單是由一個或多個小部件組成的。這些小部件可以是文本字段(單行或多行)、選擇框、按鈕、復選框或單選按鈕。大多數情況下,這些小部件與描述其目的的標簽配對——正確實現的標簽能夠清楚地指示視力正常的用戶和盲人用戶輸入表單輸入的內容。
HTML表單和常規HTML文檔的主要區別在于,大多數情況下,表單收集的數據被發送到web服務器。在這種情況下,您需要設置一個web服務器來接收和處理數據。
第一個表單單擊 submit 按鈕 發送表單的數據到
單擊 reset 按鈕 將所有表單小部件重新設置為它們的默認值。
單擊button 按鈕……不會發生任何事!這聽起來很傻,但是用JavaScript構建定制按鈕非常有用。
基本表單樣式form { /* 居中表單 */ margin: 0 auto; width: 400px; /* 顯示表單的輪廓 */ padding: 1em; border: 1px solid #CCC; border-radius: 1em; } /* 選擇元素之后緊跟的每個元素。 */ form div + div { margin-top: 1em; } label { /* 確保所有label大小相同并正確對齊 */ display: inline-block; width: 90px; text-align: right; } input, textarea { /* 確保所有文本輸入框字體相同 textarea默認是等寬字體 */ font: 1em sans-serif; /* 使所有文本輸入框大小相同 */ width: 300px; box-sizing: border-box; /* 調整文本輸入框的邊框樣式 */ border: 1px solid #999; } /* 選擇獲得焦點的輸入字段(元素),并設置其樣式 */ input:focus, textarea:focus { /* 給激活的元素一點高亮效果 */ border-color: #000; } textarea { /* 使多行文本輸入框和它們的label正確對齊 */ vertical-align: top; /* 給文本留下足夠的空間 */ height: 5em; } .button { /* 把按鈕放到和文本輸入框一樣的位置 */ padding-left: 90px; /* 和label的大小一樣 */ } button { /* 這個外邊距的大小與label和文本輸入框之間的間距差不多 */ margin-left: .5em; }display: inline-block; 元素能夠在同一行顯示。
display:inline-block 的布局方式和浮動的布局方式。對于橫向排列東西來說,我更傾向與使用inline-block來布局,因為這樣清晰,也不用再像浮動那樣清除浮動,害怕布局混亂等等。
對于浮動布局就用于需要文字環繞的時候,畢竟這才是浮動真正的用武之地,水平排列的是就交給inline-block了。
web服務器發送表單數據元素將定義如何通過action 屬性和 method屬性來發送數據的位置和方式。 還需要為我們的數據提供一個名稱。這些名字對雙方都很重要;在瀏覽器端,它告訴瀏覽器哪個名稱提供每個數據,在服務器端,它允許服務器按名稱處理每個數據塊。
要將數據命名為表單,您需要在每個表單小部件上使用 name 屬性來收集特定的數據塊。
...表單會發送三個已命名的數據塊 "user_name", "user_email", 和 "user_message"。這些數據將用使用HTTP POST 方法,把信息發送到URL為 "/my-handling-form-page"目錄下。
如何構造HTML表單元素: 嚴格禁止在一個表單內嵌套另一個表單。