三篇文章,給大家介紹了常用的一些標簽,對于剛入門前端的童靴們已經夠用了。今天小編帶大家學習HTML最后一部分——表單,之后我們就進入CSS課程的學習了。對HTML還不太熟悉的童靴,趕緊打開你的編輯器把前三章的內容練習一下吧!
HTML表單
1. <form> 元素
HTML 表單用于收集用戶輸入,像登錄、注冊、找回密碼等頁面便是表單的應用。
<form> 定義表單。
定義表單
2. 表單元素
表單中含有許多表單元素,表單元素指的是不同類型的 input 元素、復選框、單選按鈕、提交按鈕等等。
<input> 元素
<input> 元素是最重要的表單元素。
<input> 元素有很多形態,根據不同的 type 屬性。
文本輸入
<input type="text"> 定義用于文本輸入的單行輸入字段:
文本框
在瀏覽器中顯示:
通過上篇文章的學習,童靴們知道input是塊級元素還是內聯元素了嗎?(在這里先不告訴大家,不清楚的趕緊補一下上篇文章)
單選按鈕輸入
<input type="radio"> 定義單選按鈕。
單選按鈕允許用戶在有限數量的選項中選擇其中之一。
單選按鈕
通過相同的name屬性,把單選按鈕分成一組。
在瀏覽器中顯示:
單選按鈕
復選按鈕輸入
<input type="checkbox"> 定義復選按鈕。
復選按鈕允許用戶在有限數量的選項中選擇多個。
復選框
在瀏覽器中顯示:
提交按鈕
<input type="submit"> 定義用于向表單處理程序(form-handler)提交表單的按鈕。
表單處理程序通常是包含用來處理輸入數據的腳本的服務器頁面。
表單處理程序在表單的 action 屬性中指定.
提交按鈕
在瀏覽器中顯示:
Action 屬性
action 屬性定義在提交表單時執行的動作。向服務器提交表單的通常做法是使用提交按鈕。通常,表單會被提交到 web 服務器上的網頁。在上面的例子中,指定了某個服務器腳本來處理被提交表單:
<form action="action_page.php">
如果省略 action 屬性,則 action 會被設置為當前頁面。
Method 屬性
method 屬性規定在提交表單時所用的 HTTP 方法(GET 或 POST)
<form action="action_page.php" method="GET">
或者是
<form action="action_page.php" method="POST">
Name 屬性
如果要正確地被提交,每個輸入字段必須設置一個 name 屬性。
只提交lastname輸入字段
上面的例子因為只有lastname含有name屬性,所以只提交lastname輸入的字段。
好啦,今天一不小心又講多了,下篇文章繼續給大家講解表單其它的元素。
你必須非常努力,才能看起來毫不費力!
關注小白前端,才會持續收到文章推送!
頁編程之表單詳解。
同學們好,今天我要跟大家分享的是html中前后臺數據交互的重要內容——form標簽。通過form標簽,用戶可以在前臺填寫資料,然后通過form的method屬性中設置的提交方式,提交至action屬性規定的后端處理程序中進行處理。
我們經常在網頁上看到的填寫、注冊、登錄、修改資料等操作都需要使用form標簽。讓我們來看看今天的實例效果吧。
form標簽對于用戶來說是不可見的,如果沒有這一句話,你們只能看到一個完全空白的網頁。
可以將form標簽想象成一個盒子,其中放置了輸入框、單選框、復選框等控件。當用戶填寫完所有控件的內容并點擊提交按鈕時,這個盒子就會被蓋上,并被直接發送到服務器進行處理。
接下來,我們來看看實現代碼。form標簽是一個圍堵標簽,它具有許多屬性,但并非所有屬性都是必需的。因此,根據需要設置相應的屬性即可。
首先,我要重點介紹幾個常用的屬性:action、name、method。
action屬性設置了服務端處理程序的URL地址。以郵寄盒子的理解來說,action就是收件人地址。
name屬性設置了表單的名稱,這個名稱可以被前臺的JS調用。同時,在一個網頁中存在多個表單標簽時,它也可以用來給服務器進行區分。
method屬性設置了表單的提交方式,它有兩個值post和get。post是密文,而get是明文,post沒有數據長度限制,而get只能傳遞大約3000個字符。
以郵寄舉例,get是直接將寫著內容的信紙寄出,而post則是將信紙裝進信封里寄出。enctype不是常用屬性,但在使用時非常重要。它規定了從表單數據發送到服務器之前如何對其進行編碼,共有三個值,分別對應文字數據、多媒體數據和文件數據。詳情請參考匯總文檔。值得一提的是,只有在method等于post時,enctype的值才會生效。
除了這三個屬性外,還有accept-charset、autocomplete和history。accept-charset聲明了服務端可以處理的字符集,autocomplete是否開啟前臺自動填充歷史數據及用戶填寫一次之后,再填寫會在瀏覽器中詢問是否根據過往填寫的內容進行自動填充。
·將logo的"novalidate"設置為"true",可以直接提交未經驗證的表單數據。通常,我們需要在前臺使用JS或控件驗證用戶填寫的數據是否符合格式要求。然而,這個屬性可以直接繞過驗證。
·將"target"設置為"_blank",可以打開新的窗口進行提交。這與a標簽的"target"屬性相同。現在,我的理解是這樣的。在后面的C#章節中,我們將結合具體的使用場景進行詳細的講解。
今天的分享就到這里。希望各位同學能按照我的要求,認真練習寫三次。這樣,即使不看視頻,你們也能寫出正確的代碼。所有的案例和相關文檔都可以向我索取。我們下期再見。網頁編程、服務端編程、數據庫和算法。如果你想學習編程,記得關注我哦!
前面已經學習相關html大部分知識,基本上可以制作出簡單的頁面,但是這些頁面都是靜態的,一個網站如果要實現用戶的互動交流,這時表單就起到關鍵的作用,表單的用途很多,它主要用來收集用戶的相關信息,是網頁具有交互的功能。例如,用戶注冊登錄,留言等。
下面會詳細介紹表單的使用方法,有以下內容:
使用<form></form>標簽來創建一個表單,在其之間就是各種表單控件,如,輸入框,文本框,單選按鈕,多選按鈕,提交按鈕等。
語法代碼如下:
<form name="表單名稱" action="表單處理程序的服務地址" method="提交表單時所用的HTTP方法">
...... 表單控件......
</form>
1、action —— 處理程序
這里的 action 屬性值表單提交的地址,就是表單收集好數據后要傳遞給遠程服務的地址,其地址可以是絕對路徑也可以是相對路徑,或者其它形式,如發送電子郵件。
使用表單發送電子郵件:
<form action="mailto:xxx@126.com">
...... 表單控件......
</form>
提交到后臺程序地址:
<form action="action_page.php">
...... 表單控件......
</form>
2、name —— 表單名稱
表單名稱,這一屬性不是必需的,但是為了防止表單信息提交到后臺處理程序時發生混亂,一般要設置一個名稱,且在同一頁面中最好是唯一的,不要和其它表單重復命名。
<form name="loginForm">
...... 表單控件......
</form>
3、method —— 傳送數據方法
method 屬性用來定義處理程序使用那種方法來獲取數據信息,常用的有 get 和 post (http 協議定義的方法)。
<form name="loginForm" action="get 或 post">
...... 表單控件......
</form>
何時使用 GET?
GET 最適合少量數據或不是很重要數據的提交,瀏覽器會設定容量限制,默認如何沒有設置method 屬性,表單則會使用get 方法。
當您使用 GET 時,表單數據在頁面地址欄中是可見的,會在表單提交的地址后面跟一個問號“?” ,問號后面是數據,以 名稱1=值1&名稱2=值2 形式發送到后臺程序。
地址欄會看到如下:
action_page.php?firstname=Mickey&lastname=Mouse
關于 GET 的注意事項:
以名稱/值對的形式將表單數據追加到 URL
永遠不要使用 GET 發送敏感數據!(提交的表單數據在 URL 中可見!)
URL 的長度受到限制(2048 個字符)
對于用戶希望將結果添加為書簽的表單提交很有用
GET 適用于非安全數據,例如 Google 中的查詢字符串
何時使用 POST?
使用post 表單數據和url(表單提交地址)是分開發送的,在頁面地址欄中被提交的數據是不可見的,這樣安全性更好,用戶端會通知服務端獲取數據,所以這種情況沒有數據長度的限制,缺點是速度會慢些。
關于 POST 的注意事項:
將表單數據附加在 HTTP 請求的正文中(不在 URL 中顯示提交的表單數據)
POST 沒有大小限制,可用于發送大量數據。
帶有 POST 的表單提交后無法添加書簽
4、enctype —— 編碼方式
enctype 屬性規定在發送到服務器之前應該如何對表單數據進行編碼。
<form enctype="value">
有以下幾種值:
值 | 含義 |
application/x-www-form-urlencoded | 在發送前編碼所有字符(默認編碼方式) |
multipart/form-data | 不對字符編碼。 在使用包含文件上傳控件的表單時,必須使用該值。 |
text/plain | 以純文本的方式,空格轉換為 "+" 加號,但不對特殊字符編碼。 |
5、target —— 目標顯示方式
target 屬性規定在何處打開 action URL。表單的目標窗口通常用來顯示表單返回的信息,例如是否成功提交了表單,是否出錯等。
<form target="value">
屬性值有以下:
值 | 描述 |
_blank | 在新窗口中打開。 |
_self | 默認。在表單當前的窗口中打開。 |
_parent | 在父窗口中打開。 |
_top | 在頂級窗口中打開。 |
framename | 在指定的框架窗口中打開。 |
看到這里是不是想的了之前學習超鏈接時候,a標簽也有同樣的屬性,這里差不多一個意思,只是用途不一樣。
這里的窗口有可能是框架 frame 或 浮動窗口 iframe ,后面會講到框架和浮動窗口,就是在一個頁面中可以嵌套一個子窗口。
什么是表單控件,就是收集數據的各種形式控件,比如輸入框,密碼框,單選、多選按鈕,下拉菜單,文本域,文件域,提交按鈕等等。
如下代碼:
<form name="form1">
<div>用戶名:<input name="username" type="text" ></div>
<div>密碼:<input name="password" type="password" ></div>
<div>性別:
<input type="radio" name="sex" value="male" checked> 男
<br>
<input type="radio" name="sex" value="female"> 女
</div>
<div> 車輛:
<select name="cars">
<option value="volvo">baom</option>
<option value="saab">Saab</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
</div>
<div>留言:
<textarea name="message" rows="10" cols="30">
請輸入文本
</textarea>
</div>
</select>
</form>
效果如下:
這里顯示了一個基本表單,包含了輸入框,密碼框,單選,下拉菜單,文本域等組件,下面會按其使用類型介紹表單控件。
所有表單控件都一個name屬性和vaule屬性,用于和其它控件區別,后臺程序將會以此名稱獲取其表單控件對應的vaule值。
下篇會介紹各種表單控件的使用,感謝關注。
上篇:前端入門——html 表格的使用
下篇:前端入門——html 表單控件使用
*請認真填寫需求信息,我們會在24小時內與您取得聯系。