題目只能有30個字,不能寫全,其實今天我們要學習的內容有三個,第一,下拉列表表單,第二,多行文字輸入表單,第三,數據集表單。
開始學習吧!
前天和昨天我們在《HTML表單元素初識1——零基礎自學網頁制作》和《HTML表單元素初識2——零基礎自學網頁制作》中基本上把<input/>標簽的type屬性里不同的值進行了講解與實踐,今天我們來學習其他包含在<form></form>之間的元素。
帶有下拉列表的表單
我們在一些網站填寫注冊信息時,經常會遇到選擇"生活所在地"的操作,因為中國的地名是固定的,因此頁面會為我們提供一個下拉列表選項,我們直接點選即可,就不需要輸入文字了,這樣操作的好處在于不會出現拼寫錯誤。例如:
寫這個功能我們需要介紹一組新標簽<select></select>。"select"(選擇)。在這個標簽中再添加<option></option>。"option"(選項)。這樣就可以寫出帶有下拉列表的表單了,示例代碼如下:
<select><option></option></select>
這段代碼我們繼續在昨天的"表單.html"文件中添加即可,在<input type = "image" src = "img/示例圖片/submit.jpg"/><br>這段代碼之前即可!與這個圖片提交按鈕共用一個<form></form>標簽!
下面我們為多選表單添加名稱,示例代碼如下:
請選擇省份<select><option></option></select>
下面我們添加不同選項,示例代碼如下:
請選擇省份
<select >
<option >河北</option>
<option >山東</option>
<option >河南</option>
<option >海南</option>
<option >江蘇</option>
<option >安徽</option>
</select>
<br><br>
為了規范起見,我們為表單信息添加name和value屬性,示例代碼如下:
請選擇省份
<select name = "province">
<option value="Hebei">河北</option>
<option value="Shandong">山東</option>
<option value="Henan">河南</option>
<option value="Hainan">海南</option>
<option value="Jiangsu">江蘇</option>
<option value="Anhui">安徽</option>
</select>
<br><br>
大家要注意的是,在下拉列表表單中,name寫在<select>中,value寫在<option>中。
頁面效果如下:
這里告訴大家一個規律,下拉列表表單默認顯示第一個<option></option>中的文字內容。
如果您想改變這個默認顯示,請在需要顯示的<option>中添加selected屬性,并賦值為"selected"。
示例代碼如下:
請選擇省份
<select name = "province">
<option value="Hebei">河北</option>
<option value="Shandong">山東</option>
<option value="Henan" selected="selected">河南</option>
<!--選中這個選項--><option value="Hainan">海南</option><option value="Jiangsu">江蘇</option><option value="Anhui">安徽</option></select><br><br>
頁面效果如圖:
多行文字輸入表單
我們在西瓜視頻上發布視頻時會被要求填寫視頻描述,頁面中的輸入框不是像下圖這么短的單行輸入框。
而是多行輸入框,如圖:
使用<textarea></textarea>標簽即可添加這樣的輸入框,不過要設置row(列)和cols(行)屬性的數值。示例代碼如下:
<br>請簡要描述您的劇本的情節<br><textarea row="3" cols="20"></textarea><br>
這段代碼添加到</select><br><br>之后,與其共同使用一個<form></form>標簽。
下面我們為這個多行輸入框添加一些提示和限制。
首先,添加提示文字,和type="text"的<input/>標簽一樣,都是使用placeholder屬性。
第二,我們限制一下字數,使用maxlength(最大長度)屬性。
第三,在頁面加載完成后,直接讓光標停留在輸入框中,使用autofocus屬性。
下面看看如何寫吧,示例代碼如下:(不要忘記寫好name屬性!)
<br>
請簡要描述您的劇本的情節<br>
<textarea row="3" cols="20" name ="storyOutLine"placeholder="最多輸入80字"maxlength="80"autofocus></textarea><br>
頁面效果如圖:
如果刷新頁面不能正確顯示,請嘗試關閉后重新打開!
數據集表單
數據集表單實際上就是一個將不同選項或信息打包上傳的設置。
當一組表單元素放到 <fieldset> 標簽內時,瀏覽器會以特殊方式來顯示它們,它們可能有特殊的邊界、3D 效果,或者甚至可創建一個子表單來處理這些元素。(W3school)
這個數據集有三個部分組成,首先是<fliedset></fliedset>,這個標簽不會顯示,只是告訴瀏覽器這里的數據要打包。
第二是<legend></legend>,"legend"(說明),這里添加數據集名稱。
第三就是我們之前學到的那些標簽了。
示例代碼如下:
<fliedset> <legend>信息打包</legend> </fliedset>
下面我們使用這段代碼把form2打包一下吧。示例代碼如下:
<form>
<fieldset><!--開始-->
<legend>信息打包</legend><br>
<!--標題-->興趣愛好:<br>
<input type = "checkbox" name = "hobby" value = "reading"/>讀書
<input type = "checkbox" name = "hobby" value = "film"/>電影
<input type = "checkbox" name = "hobby" value = "painting"/>繪畫
<input type = "checkbox" name = "hobby" value = "music"/>音樂
<br>
最高學歷:<br>
<input type = "radio" name = "education" value = "highSchool"/>高中
<input type = "radio" name = "education" value = "bachelor"/>本科
<input type = "radio" name = "education" value = "master"/>碩士
<input type = "radio" name = "education" value = "doctor"/>博士
<br>
請選擇省份
<select name = "province">
<option value="Hebei">河北</option>
<option value="Shandong">山東</option>
<option value="Henan" selected="selected">河南</option><!--選中這個選項-->
<option value="Hainan">海南</option>
<option value="Jiangsu">江蘇</option>
<option value="Anhui">安徽</option>
</select>
<br><br><br>
請簡要描述您的劇本的情節<br>
<textarea row="3" cols="20" name ="storyOutLine"placeholder="最多輸入80字"maxlength="80"autofocus></textarea>
<br>
</fieldset><!--結尾-->
<input type = "image" src = "img/示例圖片/submit.jpg"/><br>
<input type="reset" /><br>
<input type = "submit" value = "submit"/>
</form>
頁面效果如下:
今天的內容結束了!
如果您喜歡我的教程請關注我,點贊也能讓我充滿動力!
HTML序章(學習目的、對象、基本概念)——零基礎自學網頁制作
HTML是什么?——零基礎自學網頁制作
第一個HTML頁面如何寫?——零基礎自學網頁制作
HTML頁面中head標簽有啥用?——零基礎自學網頁制作
初識meta標簽與SEO——零基礎自學網頁制作
HTML中的元素使用方法1——零基礎自學網頁制作
HTML中的元素使用方法2——零基礎自學網頁制作
HTML元素中的屬性1——零基礎自學網頁制作
HTML元素中的屬性2(路徑詳解)——零基礎自學網頁制作
使用HTML添加表格1(基本元素)——零基礎自學網頁制作
使用HTML添加表格2(表格頭部與腳部)——零基礎自學網頁制作
使用HTML添加表格3(間距與顏色)——零基礎自學網頁制作
使用HTML添加表格4(行顏色與表格嵌套)——零基礎自學網頁制作
16進制顏色表示與RGB色彩模型——零基礎自學網頁制作
HTML中的塊級元素與內聯元素——零基礎自學網頁制作
初識HTML中的<div>塊元素——零基礎自學網頁制作
在HTML頁面中嵌入其他頁面的方法——零基礎自學網頁制作
封閉在家學網頁制作!為頁面嵌入PDF文件——零基礎自學網頁制作
HTML表單元素初識1——零基礎自學網頁制作
HTML表單元素初識2——零基礎自學網頁制作
HTML表單3(下拉列表、多行文字輸入)——零基礎自學網頁制作
HTML表單4(form的action、method屬性)——零基礎自學網頁制作
HTML列表制作講解——零基礎自學網頁制作
為HTML頁面添加視頻、音頻的方法——零基礎自學網頁制作
音視頻格式轉換神器與html視頻元素加字幕——零基礎自學網頁制作
HTML中使用<a>標簽實現文本內鏈接——零基礎自學網頁制作
嘍,小伙伴們!今天我們來聊一聊前端開發中的一個小技巧:如何用JavaScript自動設置下拉菜單的選項。你是不是也遇到過這樣的需求?比如一個注冊表單,根據用戶選擇的國家自動填充城市列表。那么,如何實現呢?跟我一起來看看吧!
想象一下,你正在開發一個旅游網站。用戶在選擇國家時,希望自動顯示該國家的城市列表。我們可以通過JavaScript來實現這一動態效果。下面我們具體講解兩種實現方式。
這種方法簡單粗暴,直接上代碼!
首先,我們有一個簡單的下拉菜單HTML:
<select id="country-select">
<option value="china">China</option>
<option value="usa">USA</option>
<option value="france">France</option>
</select>
<select id="city-select">
<option value="beijing">Beijing</option>
<option value="shanghai">Shanghai</option>
<option value="guangzhou">Guangzhou</option>
</select>
現在,我們想要默認選中“China”和“Shanghai”,可以這樣寫:
const countrySelect = document.querySelector('#country-select')
countrySelect.value = 'china'
const citySelect = document.querySelector('#city-select')
citySelect.value = 'shanghai'
是不是很簡單?我們用querySelector找到select元素,然后設置它們的value屬性為我們想要的選項值。頁面一加載,“China”和“Shanghai”就被選中了。
另一種方法是設置具體選項的selected屬性。這種方法同樣很直接,適合初學者理解。
依然使用剛才的HTML代碼:
<select id="country-select">
<option value="china">China</option>
<option value="usa">USA</option>
<option value="france">France</option>
</select>
<select id="city-select">
<option value="beijing">Beijing</option>
<option value="shanghai">Shanghai</option>
<option value="guangzhou">Guangzhou</option>
</select>
我們通過以下JavaScript代碼來實現:
const countrySelect = document.querySelector('#country-select')
countrySelect.options[0].selected = true // China 是第一個選項
const citySelect = document.querySelector('#city-select')
citySelect.options[1].selected = true // Shanghai 是第二個選項
在這里,我們獲取到所有的option元素,并通過索引來設置具體的選項。由于“China”是第一個選項,它的索引是0;“Shanghai”是第二個選項,它的索引是1。我們把它們的selected屬性設置為true,這樣頁面加載時“China”和“Shanghai”就被選中了。
怎么樣,是不是很簡單?通過這兩種方法,你可以輕松實現下拉菜單的自動選中功能。如果你有其他的業務場景,比如根據用戶選擇的不同項目自動填充不同的內容,這兩種方法都能幫你輕松搞定!
天教大家學習如何制作網頁的下拉菜單~
CSS 下拉菜單
首先,我們要使用 CSS 創建一個鼠標移動上去后顯示下拉菜單的效果。
1.下拉菜單樣式
(樣式一)
(樣式二)
2.基本下拉菜單
當鼠標移動到指定元素上時,會出現下拉菜單。
(效果圖)
相關代碼如下
<style>
.dropdown {
position: relative;
display: inline-block;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
padding: 12px 16px;
z-index: 1;
}
.dropdown:hover .dropdown-content {
display: block;
}
</style>
<div class="dropdown">
<span>Mouse over me</span>
<div class="dropdown-content">
<p>Hello World!</p>
</div>
</div>
實例解析
HTML 部分:
我們可以使用任何的 HTML 元素來打開下拉菜單,如:<span>, 或 a <button> 元素。
使用容器元素 (如: <div>) 來創建下拉菜單的內容,并放在任何你想放的位置上。
使用 <div> 元素來包裹這些元素,并使用 CSS 來設置下拉內容的樣式。
CSS 部分:
.dropdown 類使用 position:relative, 這將設置下拉菜單的內容放置在下拉按鈕 (使用 position:absolute) 的右下角位置。
.dropdown-content 類中是實際的下拉菜單。默認是隱藏的,在鼠標移動到指定元素后會顯示。 注意 min-width 的值設置為 160px。你可以隨意修改它。
注意: 如果你想設置下拉內容與下拉按鈕的寬度一致,可設置 width 為 100% ( overflow:auto 設置可以在小尺寸屏幕上滾動)。
我們使用 box-shadow 屬性讓下拉菜單看起來像一個"卡片"。
:hover 選擇器用于在用戶將鼠標移動到下拉按鈕上時顯示下拉菜單。
3.下拉菜單
首先需要創建下拉菜單,并允許用戶選取列表中的某一項。這個實例類似前面的實例,當我們在下拉列表中添加了鏈接,并設置了樣式:
(效果圖)
相關代碼如下
<style>
/* 下拉按鈕樣式 */
.dropbtn {
background-color: #4CAF50;
color: white;
padding: 16px;
font-size: 16px;
border: none;
cursor: pointer;
}
/* 容器 <div> - 需要定位下拉內容 */
.dropdown {
position: relative;
display: inline-block;
}
/* 下拉內容 (默認隱藏) */
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}
/* 下拉菜單的鏈接 */
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
/* 鼠標移上去后修改下拉菜單鏈接顏色 */
.dropdown-content a:hover {background-color: #f1f1f1}
/* 在鼠標移上去后顯示下拉菜單 */
.dropdown:hover .dropdown-content {
display: block;
}
/* 當下拉內容顯示后修改下拉按鈕的背景顏色 */
.dropdown:hover .dropbtn {
background-color: #3e8e41;
}
</style>
<div class="dropdown">
<button class="dropbtn">下拉菜單</button>
<div class="dropdown-content">
<a href="#">百度 1</a>
<a href="#">百度 2</a>
<a href="#">百度 3</a>
</div>
</div>
小伙伴們有沒有學會呢?沒有學會記的私信小編"web"
*請認真填寫需求信息,我們會在24小時內與您取得聯系。