表單元素
從 HTML 到 HTML5, 表單相關的元素已經得到了很大的擴充, 基本上能夠滿足我們常見的需求。但在實際工作中, 因為互動或瀏覽器相容的需要, 有時候不得不對原生的表單元素進行擴充或模擬。但在此之前, 清楚的了解並掌握各種表單元素還是很重要的。在本文中, 我們將對表單元素 (預設是指 HTML5 表單元素)進行詳細的闡述。
form
●form 會自動處理submit 事件(submit 事件
●form 會自動處理submit 事件(submit 事件通常由校類驗,使用form.novalidate 可以關閉原生的validate●form 會根據每個表單元素的name 取得對應的使用者輸入, 然後將form data 以query string 的形式加入action 屬性對應的url 後面。預設的請求方法是 GET, 預設的action 是目前的 url。 ●event.target.elements 將會傳回所有可互動的元素<form novalidate> <input name='username' required/> <input name='passworkd' type='password' required/> <input name='email' type='email'/> <input type='submit' value='submit'/> </form>運行上面的程式碼可以看到, 提交表單之後,瀏覽器的位址會增加類似這樣的query string ?username=tom&passworkd=123&emaild=123&emaild=123&emaild=123&emaild=123&emaild=123&emaild=123&emaild=123&emaild=123&emaild=123&emaild=123&emaild=123&emaild=123&emaild=123&emaild=123&emaild=123&emaild=123&emaild。 =test%40gmail.com
可交互型elements
需要跟用戶進行交互,並獲得用戶輸入的這一類表單元素,我們把它們歸類為可交互型表單元素。 下面列舉出來了一些:●input: 常用的type 有checkbox, tel, number, email 等●textarea●select●option型資訊, 不需要跟使用者互動的表單元素,我們把它們歸類為回饋表單元素。 下面列舉出來了一些:
●meter
●output
<form oninput="result.value=parseInt(a.value)+parseInt(b.value)"> <input type='number' value='50' name='a' /> <input type='number' value='10' name='b' /> <output name='result'>60</output> </form>
對於output, 可以在form.oninput 設定計算出來的value
型群組的這一類表單元素, 我們把他們歸類為分組型表單元素。 下面列舉了一些:●fieldset
●optgroup<form> <select> <optgroup label='group1'> <option>1</option> <option>2</option> <option>3</option> </optgroup> <optgroup label='group2'> <option>4</option> <option>5</option> <option>6</option> </optgroup> <optgroup label='group3'> <option>7</option> <option>8</option> <option>9</optioin> </optgroup> </select> </form>
label
●opt 可與對應關聯了id 的交互個, 控制第一個●不建議嵌套label<form> <fieldset> <legend>Title</legend> <label for='radio'>Click me</label> <input type='radio' id='radio'/> </fieldset> </form>
<form> <fieldset> <legend>用户信息</legend> <label> 男 <input type='radio' name='gender' id='male' /> </label> <label> 女 <input type='radio' name='gender' id='female'/> </label> </fieldset> </form>用JavaScript 處理表單 field 的抽象 , 分割後合成為一個String
●對於複雜結構的name 可以使用keyPath field: {
name: String,
value: String || String[]
}
如果對上面的程式碼不是很清楚的,參考qs
一個完整的實作
參考qs
一個完整的實作
參考qs
一個完整的實作參考qs
阻止事件●checkbox 需要拿checked 而不是value●select-multiple 需要存多個值●除了以上幾個特殊的交互元素之外, 其他的都默認從value 中去取值form. htmlconst fromKeyValues = { 'user.name': 'Tom', 'user.phone[0].number': '123456', 'user.phone[0].type': 'mobile' }; const fromValues = { user: { name: 'Tom', phone: [ { number: '123456', type: 'mobile' } ] } };
form.js
<form> <fieldset> <legend>Login</legend> <input name='username' placeholder='username' minlength='2'/> <input name='password' type='password' placeholder='password'/> <label> remember password <input name='checkbox' type='checkbox'/> </label> </fieldset> <fieldset> <p class="gender"> <legend>More Info</legend> <label> 男 <input name='gender' type='radio' value='male' /> </label> <label> 女 <input name='gender' type='radio' value='female' /> </label> </p> <select name='select' multiple> <option>1</option> <optgroup label='2'> <option>2.1</option> <option>2.2</option> </optgroup> </select> </fieldset> <button type='submit'>Submit</button></form>

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML的作用是通過標籤和屬性定義網頁的結構和內容。 1.HTML通過到、等標籤組織內容,使其易於閱讀和理解。 2.使用語義化標籤如、等增強可訪問性和SEO。 3.優化HTML代碼可以提高網頁加載速度和用戶體驗。

htmlisaspecifictypefodyfocusedonstructuringwebcontent,而“代碼” badlyLyCludEslanguagesLikeLikejavascriptandPytyPythonForFunctionality.1)htmldefineswebpagertuctureduseTags.2)“代碼”代碼“ code” code code code codeSpassSesseseseseseseseAwiderRangeLangeLangeforLageforLogageforLogicIctInterract

HTML、CSS和JavaScript是Web開發的三大支柱。 1.HTML定義網頁結構,使用標籤如、等。 2.CSS控製網頁樣式,使用選擇器和屬性如color、font-size等。 3.JavaScript實現動態效果和交互,通過事件監聽和DOM操作。

HTML定義網頁結構,CSS負責樣式和佈局,JavaScript賦予動態交互。三者在網頁開發中各司其職,共同構建豐富多彩的網站。

HTML適合初學者學習,因為它簡單易學且能快速看到成果。 1)HTML的學習曲線平緩,易於上手。 2)只需掌握基本標籤即可開始創建網頁。 3)靈活性高,可與CSS和JavaScript結合使用。 4)豐富的學習資源和現代工具支持學習過程。

AnexampleOfAstartingTaginHtmlis,beginSaparagraph.startingTagSareEssentialInhtmlastheyInitiateEllements,defiteTheeTheErtypes,andarecrucialforsstructuringwebpages wepages webpages andConstructingthedom。

如何設計菜單中的虛線分割效果?在設計菜單時,菜名和價格的左右對齊通常不難實現,但中間的虛線或點如何...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3漢化版
中文版,非常好用