Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 日本高清com,欧美在线一区二区三区欧美,99久久综合狠狠综合久久一区

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          只需多加一個(gè)屬性就能實(shí)現(xiàn) WordPress 后臺表

          只需多加一個(gè)屬性就能實(shí)現(xiàn) WordPress 后臺表單折疊展開效果

          近做了一個(gè)郵件模板功能,就是可以在后臺定義各種情況下的發(fā)送郵件驗(yàn)證碼的模板,如下圖所示:

          可以定義「注冊賬號」,「重置密碼」,「驗(yàn)證郵箱」等各種情況下的郵件模板的標(biāo)題和內(nèi)容。使用 WPJAM Basic 的生成表單功能,實(shí)現(xiàn)是非常簡單,具體的代碼就是生成三個(gè) fieldset 字段組,使用 foreach 簡單就能處理:

          $fields=[];
          
          foreach(['register'=>'注冊賬號', 'resetpass'=>'重置密碼', 'verify'=>'驗(yàn)證郵箱'] as $type=> $title){
          	$fields[$type]=['title'=>$title,	'type'=>'fieldset',		'fields'=>[
          		$type.'_subject'=> ['title'=>'標(biāo)題',	'type'=>'text'],
          		$type.'_message'=> ['title'=>'內(nèi)容',	'type'=>'textarea',	'rows'=>3],
          	]];
          }

          但是感覺這樣重復(fù)的界面非常占用空間,有沒有什么好的優(yōu)化方式,比如折疊起來,點(diǎn)擊展開之后再設(shè)置?

          我查了一下,其實(shí)無需 Javascript,只需用 HTML 的 summary / details 這兩個(gè)標(biāo)簽就能實(shí)現(xiàn)。

          所以我增強(qiáng)了一下 WPJAM Basic fieldset 組件的能力,fieldset 組件只需要設(shè)定 summary 屬性,就能使用 summary / details 實(shí)現(xiàn)折疊展開效果,具體代碼如下:

          $fields=[];
          
          foreach(['register'=>'注冊賬號', 'resetpass'=>'重置密碼', 'verify'=>'驗(yàn)證郵箱'] as $type=> $title){
          	$fields[$type]=['title'=>$title,	'type'=>'fieldset',	'summary'=>$title.'時(shí)郵件設(shè)置',	'fields'=>[
          		$type.'_subject'=> ['title'=>'標(biāo)題',	'type'=>'text'],
          		$type.'_message'=> ['title'=>'內(nèi)容',	'type'=>'textarea',	'rows'=>3],
          	]];
          }

          相比第一段代碼,這段代碼就是增加了 summary 屬性設(shè)置,最后的效果如下:

          默認(rèn)情況都只顯示摘要,點(diǎn)擊摘要時(shí)候,就會(huì)展開字段組設(shè)置,如上圖,我點(diǎn)擊了第一個(gè) fieldset 字段組的摘要,「注冊賬號」這個(gè)郵件模板就展開了,其他兩個(gè)則還是沒有折疊的狀態(tài)。

          一個(gè)有限的空間內(nèi)顯示用于呈現(xiàn)信息的可折疊的內(nèi)容面板。

          如需了解更多有關(guān) accordion 部件的細(xì)節(jié),請查看 API 文檔 折疊面板部件(Accordion Widget)。

          默認(rèn)功能

          點(diǎn)擊頭部展開/折疊被分為各個(gè)邏輯部分的內(nèi)容,就像標(biāo)簽頁(tabs)一樣。您可以選擇性地設(shè)置當(dāng)鼠標(biāo)懸停時(shí)是否切換各部分的打開/關(guān)閉狀態(tài)。

          基本的 HTML 標(biāo)記是一系列的標(biāo)題(H3 標(biāo)簽)和內(nèi)容 div,因此內(nèi)容不用通過 JavaScript 即可用。

          <!doctype html> <html> <head> <meta charset="utf-8"> <title>jQuery UI 折疊面板(Accordion) - 默認(rèn)功能</title> <link rel="stylesheet" > <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <link rel="stylesheet" > <script> $(function() { $( "#accordion" ).accordion(); }); </script> </head> <body> <div id="accordion"> <h3>部分 1</h3> <div> <p> Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate. </p> </div> <h3>部分 2</h3> <div> <p> Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In suscipit faucibus urna. </p> </div> <h3>部分 3</h3> <div> <p> Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis. Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui. </p> <ul> <li>List item one</li> <li>List item two</li> <li>List item three</li> </ul> </div> <h3>部分 4</h3> <div> <p> Cras dictum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia mauris vel est. </p> <p> Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. </p> </div> </div> </body> </html>

          折疊內(nèi)容

          默認(rèn)情況下,折疊面板總是保持一個(gè)部分是打開的。為了讓所有部分都是折疊的,可設(shè)置 collapsible 選項(xiàng)為 true。點(diǎn)擊當(dāng)前打開的部分,來折疊它的內(nèi)容面板。

          <!doctype html> <html> <head> <meta charset="utf-8"> <title>jQuery UI 折疊面板(Accordion) - 折疊內(nèi)容</title> <link rel="stylesheet" > <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <link rel="stylesheet" > <script> $(function() { $( "#accordion" ).accordion({ collapsible: true }); }); </script> </head> <body> <div id="accordion"> <h3>部分 1</h3> <div> <p>Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.</p> </div> <h3>部分 2</h3> <div> <p>Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In suscipit faucibus urna. </p> </div> <h3>部分 3</h3> <div> <p>Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis. Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui. </p> <ul> <li>List item one</li> <li>List item two</li> <li>List item three</li> </ul> </div> <h3>部分 4</h3> <div> <p>Cras dictum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia mauris vel est. </p><p>Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. </p> </div> </div> </body> </html>

          查看演示

          自定義圖標(biāo)

          通過 icons 選項(xiàng)自定義標(biāo)題圖標(biāo),icons 選項(xiàng)接受標(biāo)題默認(rèn)的和激活的(打開的)狀態(tài)的 class。使用 UI CSS 框架中的任意 class,或者使用背景圖像創(chuàng)建自定義的 class。

          <!doctype html> <html> <head> <meta charset="utf-8"> <title>jQuery UI 折疊面板(Accordion) - 自定義圖標(biāo)</title> <link rel="stylesheet" > <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <link rel="stylesheet" > <script> $(function() { var icons={ header: "ui-icon-circle-arrow-e", activeHeader: "ui-icon-circle-arrow-s" }; $( "#accordion" ).accordion({ icons: icons }); $( "#toggle" ).button().click(function() { if ( $( "#accordion" ).accordion( "option", "icons" ) ) { $( "#accordion" ).accordion( "option", "icons", null ); } else { $( "#accordion" ).accordion( "option", "icons", icons ); } }); }); </script> </head> <body> <div id="accordion"> <h3>部分 1</h3> <div> <p>Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.</p> </div> <h3>部分 2</h3> <div> <p>Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In suscipit faucibus urna. </p> </div> <h3>部分 3</h3> <div> <p>Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis. Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui. </p> <ul> <li>List item one</li> <li>List item two</li> <li>List item three</li> </ul> </div> <h3>部分 4</h3> <div> <p>Cras dictum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia mauris vel est. </p><p>Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. </p> </div> </div> <button id="toggle">切換圖標(biāo)</button> </body> </html>

          查看演示

          填充空間

          由于折疊面板是由塊級元素組成的,默認(rèn)情況下它的寬度會(huì)填充可用的水平空間。為了填充由容器分配的垂直空間,設(shè)置 heightStyle 選項(xiàng)為 "fill",腳本會(huì)自動(dòng)設(shè)置折疊面板的尺寸為父容器的高度。

          <!doctype html> <html> <head> <meta charset="utf-8"> <title>jQuery UI 折疊面板(Accordion) - 填充空間</title> <link rel="stylesheet" > <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <link rel="stylesheet" > <style> #accordion-resizer { padding: 10px; width: 350px; height: 220px; } </style> <script> $(function() { $( "#accordion" ).accordion({ heightStyle: "fill" }); }); $(function() { $( "#accordion-resizer" ).resizable({ minHeight: 140, minWidth: 200, resize: function() { $( "#accordion" ).accordion( "refresh" ); } }); }); </script> </head> <body> <h3>重新調(diào)整外部容器:</h3> <div id="accordion-resizer"> <div id="accordion"> <h3>部分 1</h3> <div> <p>Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.</p> </div> <h3>部分 2</h3> <div> <p>Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In suscipit faucibus urna. </p> </div> <h3>部分 3</h3> <div> <p>Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis. Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui. </p> <ul> <li>List item one</li> <li>List item two</li> <li>List item three</li> </ul> </div> <h3>部分 4</h3> <div> <p>Cras dictum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia mauris vel est. </p><p>Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. </p> </div> </div> </div> </body> </html>

          非自動(dòng)高度

          設(shè)置 heightStyle: "content",讓折疊面板保持它們初始的高度。

          <!doctype html> <html> <head> <meta charset="utf-8"> <title>jQuery UI 折疊面板(Accordion) - 非自動(dòng)高度</title> <link rel="stylesheet" > <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <link rel="stylesheet" > <script> $(function() { $( "#accordion" ).accordion({ heightStyle: "content" }); }); </script> </head> <body> <div id="accordion"> <h3>部分 1</h3> <div> <p>Mauris mauris ante, blandit et, ultrices a, susceros. Nam mi. Proin viverra leo ut odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.</p> </div> <h3>部分 2</h3> <div> <p>Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In suscipit faucibus urna. </p> </div> <h3>部分 3</h3> <div> <p>Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis. Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui. </p> <ul> <li>List item</li> <li>List item</li> <li>List item</li> <li>List item</li> <li>List item</li> <li>List item</li> <li>List item</li> </ul> </div> </div> </body> </html>

          查看演示

          當(dāng)懸停時(shí)打開

          點(diǎn)擊頭部展開/折疊被分為各個(gè)邏輯部分的內(nèi)容,就像標(biāo)簽頁(tabs)一樣。您可以選擇性地設(shè)置當(dāng)鼠標(biāo)懸停時(shí)是否切換各部分的打開/關(guān)閉狀態(tài)。

          基本的 HTML 標(biāo)記是一系列的標(biāo)題(H3 標(biāo)簽)和內(nèi)容 div,因此內(nèi)容不用通過 JavaScript 即可用。

          <!doctype html> <html> <head> <meta charset="utf-8"> <title>jQuery UI 折疊面板(Accordion) - 當(dāng)懸停時(shí)打開</title> <link rel="stylesheet" > <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <link rel="stylesheet" > <script> $(function() { $( "#accordion" ).accordion({ event: "click hoverintent" }); }); /* * hoverIntent | Copyright 2011 Brian Cherne * http://cherne.net/brian/resources/jquery.hoverIntent.html * modified by the jQuery UI team */ $.event.special.hoverintent={ setup: function() { $( this ).bind( "mouseover", jQuery.event.special.hoverintent.handler ); }, teardown: function() { $( this ).unbind( "mouseover", jQuery.event.special.hoverintent.handler ); }, handler: function( event ) { var currentX, currentY, timeout, args=arguments, target=$( event.target ), previousX=event.pageX, previousY=event.pageY; function track( event ) { currentX=event.pageX; currentY=event.pageY; }; function clear() { target .unbind( "mousemove", track ) .unbind( "mouseout", clear ); clearTimeout( timeout ); } function handler() { var prop, orig=event; if ( ( Math.abs( previousX - currentX ) + Math.abs( previousY - currentY ) ) < 7 ) { clear(); event=$.Event( "hoverintent" ); for ( prop in orig ) { if ( !( prop in event ) ) { event[ prop ]=orig[ prop ]; } } // 防止訪問原始事件,因?yàn)樾率录?huì)被異步觸發(fā),舊事件不再可用 (#6028) delete event.originalEvent; target.trigger( event ); } else { previousX=currentX; previousY=currentY; timeout=setTimeout( handler, 100 ); } } timeout=setTimeout( handler, 100 ); target.bind({ mousemove: track, mouseout: clear }); } }; </script> </head> <body> <div id="accordion"> <h3>部分 1</h3> <div> <p> Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate. </p> </div> <h3>部分 2</h3> <div> <p> Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In suscipit faucibus urna. </p> </div> <h3>部分 3</h3> <div> <p> Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis. Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui. </p> <ul> <li>List item one</li> <li>List item two</li> <li>List item three</li> </ul> </div> <h3>部分 4</h3> <div> <p> Cras dictum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia mauris vel est. </p> <p> Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. </p> </div> </div> </body> </html>

          查看演示

          排序(Sortable)

          拖拽標(biāo)題來給面板重新排序。

          <!doctype html> <html> <head> <meta charset="utf-8"> <title>jQuery UI 折疊面板(Accordion) - 排序(Sortable)</title> <link rel="stylesheet" > <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <link rel="stylesheet" > <style> /* 當(dāng)排序時(shí),IE 存在布局問題(查看 #5413) */ .group { zoom: 1 } </style> <script> $(function() { $( "#accordion" ) .accordion({ header: "> div > h3" }) .sortable({ axis: "y", handle: "h3", stop: function( event, ui ) { // 當(dāng)排序時(shí),IE 不能注冊 blur,所以觸發(fā) focusout 處理程序來移除 .ui-state-focus ui.item.children( "h3" ).triggerHandler( "focusout" ); } }); }); </script> </head> <body> <div id="accordion"> <div> <h3>部分 1</h3> <div> <p>Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.</p> </div> </div> <div> <h3>部分 2</h3> <div> <p>Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In suscipit faucibus urna. </p> </div> </div> <div> <h3>部分 3</h3> <div> <p>Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis. Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui. </p> <ul> <li>List item one</li> <li>List item two</li> <li>List item three</li> </ul> </div> </div> <div> <h3>部分 4</h3> <div> <p>Cras dictum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia mauris vel est. </p><p>Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. </p> </div> </div> </div> </body> </html>

          這里是云端源想IT,幫你輕松學(xué)IT”

          嗨~ 今天的你過得還好嗎?

          世界微塵里

          吾寧愛與憎


          - 2024.03.18 -

          在互聯(lián)網(wǎng)的世界中,表單是用戶與網(wǎng)站進(jìn)行互動(dòng)的重要橋梁。無論是注冊新賬號、提交反饋、還是在線購物,表單都扮演著至關(guān)重要的角色。在網(wǎng)頁中,我們需要跟用戶進(jìn)行交互,收集用戶資料,此時(shí)就需要用到表單標(biāo)簽。

          HTML提供了一系列的表單標(biāo)簽,使得開發(fā)者能夠輕松地創(chuàng)建出功能豐富的表單。今天我們就來深入探討這些標(biāo)簽,了解它們的作用以及如何使用它們來構(gòu)建一個(gè)有效的用戶界面。



          一、表單的組成

          在HTML中,一個(gè)完整的表單通常由表單域、表單控件(表單元素)和提示信息三個(gè)部分構(gòu)成。

          表單域

          • 表單域是一個(gè)包含表單元素的區(qū)域
          • 在HTML標(biāo)簽中,<form>標(biāo)簽用于定義表單域,以實(shí)現(xiàn)用戶信息的收集和傳遞
          • <form>會(huì)把它范圍內(nèi)的表單元素信息提交給服務(wù)器


          表單控件

          這些是用戶與表單交云的各種元素,如<input>(用于創(chuàng)建不同類型的輸入字段)、<textarea>(用于多行文本輸入)、<button>(用于提交表單或執(zhí)行其他操作)、<select>和<option>(用于創(chuàng)建下拉列表)等。



          提示信息

          這些信息通常通過<label>標(biāo)簽提供,它為表單控件提供了描述性文本,有助于提高可訪問性。<label>標(biāo)簽通常與<input>標(biāo)簽一起使用,并且可以通過for屬性與<input>標(biāo)簽的id屬性關(guān)聯(lián)起來。


          這三個(gè)部分共同構(gòu)成了一個(gè)完整的HTML表單,使得用戶可以輸入數(shù)據(jù),并通過點(diǎn)擊提交按鈕將這些數(shù)據(jù)發(fā)送到Web服務(wù)器進(jìn)行處理。


          二、表單元素

          在表單域中可以定義各種表單元素,這些表單元素就是允許用戶在表單中輸入或者選擇的內(nèi)容控件。下面就來介紹HTML中常用的表單元素。


          1、<form>標(biāo)簽:基礎(chǔ)容器

          作用:定義一個(gè)表單區(qū)域,用戶可以在其中輸入數(shù)據(jù)進(jìn)行提交。

          <form action="submit.php" method="post">

          其中action屬性指定了數(shù)據(jù)提交到的服務(wù)器端腳本地址,method屬性定義了數(shù)據(jù)提交的方式(通常為GET或POST)。


          2、<input>標(biāo)簽:數(shù)據(jù)輸入

          <input>標(biāo)簽是一個(gè)單標(biāo)簽,用于收集用戶信息。允許用戶輸入文本、數(shù)字、密碼等。

          <input type="text" name="username" placeholder="請輸入用戶名">

          type屬性決定了輸入類型,name屬性定義了數(shù)據(jù)的鍵名,placeholder屬性提供了輸入框內(nèi)的提示文本。


          <input>標(biāo)簽的屬性

          下面舉個(gè)例子來說明:

          <!DOCTYPE html>
          <html>
          <head>
          <meta charset="UTF-8">
          <meta http-equiv="X-UA-Compatible" content="IE=edge">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Document</title>
          </head>
          
          <body>
          <form>
          用戶名:<input type="text" value="請輸入用戶名"><br>
          密碼:<input type="password"><br>
          性別:男<input type="radio" name="sex" checked="checked"> 女<input type="radio" name="sex"><br>
          愛好:吃飯<input type="checkbox"> 睡覺<input type="checkbox"> 打豆豆<input type="checkbox"><br>
          <input type="submit" value="免費(fèi)注冊">
          <input type="reset" value="重新填寫">
          <input type="button" value="獲取短信驗(yàn)證碼"><br>
          上傳頭像:<input type="file">
          </form>
          </body>
          </html>


          3、<label>標(biāo)簽:關(guān)聯(lián)說明

          它與輸入字段如文本框、單選按鈕、復(fù)選框等關(guān)聯(lián)起來,以改善網(wǎng)頁的可用性和可訪問性。<label>標(biāo)簽有兩種常見的用法:


          1)包裹方式:

          在這種用法中,<label>標(biāo)簽直接包裹住關(guān)聯(lián)的表單元素。例如:

          <label>用戶名:<input type="text" name="username"></label>

          這樣做的好處是用戶點(diǎn)擊標(biāo)簽文本時(shí),關(guān)聯(lián)的輸入字段會(huì)自動(dòng)獲取焦點(diǎn),從而提供更好的用戶體驗(yàn)。



          2)使用for屬性關(guān)聯(lián):

          在這種用法中,<label>標(biāo)簽通過for屬性與目標(biāo)表單元素建立關(guān)聯(lián),for屬性的值應(yīng)與目標(biāo)元素的id屬性相匹配。例如:

          <label for="username">用戶名:</label><input type="text" id="username" name="username">

          這樣做的優(yōu)勢是單擊標(biāo)簽時(shí),相關(guān)的表單元素會(huì)自動(dòng)選中(獲取焦點(diǎn)),從而提高可用性和可訪問性。


          4、<select>和<option>標(biāo)簽:下拉選擇

          在頁面中,如果有多個(gè)選項(xiàng)讓用戶選擇,并且想要節(jié)約頁面空間時(shí),我們可以使用標(biāo)簽控件定義下拉列表。


          注意點(diǎn):

          • <select>中至少包含一對<option>
          • 在<option>中定義selected=“selected”時(shí),當(dāng)前項(xiàng)即為默認(rèn)選中項(xiàng)
          <!DOCTYPE html>
          <html>
          <head>
          <meta charset="UTF-8">
          <meta http-equiv="X-UA-Compatible" content="IE=edge">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Document</title>
          </head>
          <body>
          <form>
          籍貫:
          <select>
          <option>山東</option>
          <option>北京</option>
          <option>西安</option>
          <option selected="selected">火星</option>
          </select>
          </form>
          </body>
          </html>


          5、<textarea>標(biāo)簽:多行文本輸入

          當(dāng)用戶輸入內(nèi)容較多的情況下,我們可以用表單元素標(biāo)簽替代文本框標(biāo)簽。

          • 允許用戶輸入多行文本。
          <textarea name="message" rows="5" cols="30">默認(rèn)文本</textarea>

          rows和cols屬性分別定義了文本區(qū)域的行數(shù)和列數(shù)。


          代碼示例:

          <!DOCTYPE html>
          <html>
          <head>
          <meta charset="UTF-8">
          <meta http-equiv="X-UA-Compatible" content="IE=edge">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Document</title>
          </head>
          <body>
          <form>
          今日反饋:
          <textarea>請?jiān)诖溯斎雰?nèi)容</textarea>
          </form>
          </body>
          </html>



          6、<button>標(biāo)簽:按鈕控件

          創(chuàng)建一個(gè)可點(diǎn)擊的按鈕,通常用于提交或重置表單。它允許用戶放置文本或其他內(nèi)聯(lián)元素(如<i>、<b>、<strong>、<br>、<img>等),這使得它比普通的<input type="button">具有更豐富的內(nèi)容和更強(qiáng)的功能。

          <button type="submit">提交</button>

          type屬性為submit時(shí)表示這是一個(gè)提交按鈕。


          7、<fieldset>和<legend>標(biāo)簽:分組和標(biāo)題

          通常用于在HTML表單中對相關(guān)元素進(jìn)行分組,并提供一個(gè)標(biāo)題來描述這個(gè)組的內(nèi)容。



          <fieldset>標(biāo)簽:該標(biāo)簽用于在表單中創(chuàng)建一組相關(guān)的表單控件。它可以將表單元素邏輯分組,并且通常在視覺上通過圍繞這些元素繪制一個(gè)邊框來區(qū)分不同的組。這種分組有助于提高表單的可讀性和易用性。

          <legend>標(biāo)簽:它總是與<fieldset>標(biāo)簽一起使用。<legend>標(biāo)簽定義了<fieldset>元素的標(biāo)題,這個(gè)標(biāo)題通常會(huì)出現(xiàn)在瀏覽器渲染的字段集的邊框上方。<legend>標(biāo)簽使得用戶更容易理解每個(gè)分組的目的和內(nèi)容。

          代碼示例:

          <form>
          <fieldset>
          <legend>個(gè)人信息</legend>
          <label for="name">姓名:</label>
          <input type="text" id="name" name="name"><br><br>
          <label for="email">郵箱:</label>
          <input type="email" id="email" name="email"><br><br>
          </fieldset>
          <fieldset>
          <legend>興趣愛好</legend>
          <input type="checkbox" id="hobby1" name="hobby1" value="music">
          <label for="hobby1">音樂</label><br>
          <input type="checkbox" id="hobby2" name="hobby2" value="sports">
          <label for="hobby2">運(yùn)動(dòng)</label><br>
          <input type="checkbox" id="hobby3" name="hobby3" value="reading">
          <label for="hobby3">閱讀</label><br>
          </fieldset>
          <input type="submit" value="提交">
          </form>

          在這個(gè)示例中,我們使用了兩個(gè)<fieldset>元素來組織表單的不同部分。第一個(gè)<fieldset>包含姓名和郵箱字段,而第二個(gè)<fieldset>包含三個(gè)復(fù)選框,用于選擇用戶的興趣愛好。每個(gè)<fieldset>都有一個(gè)<legend>元素,用于提供標(biāo)題。這樣,用戶在填寫表單時(shí)可以更清晰地了解每個(gè)部分的內(nèi)容。

          想要快速入門前端開發(fā)嗎?推薦一個(gè)前端開發(fā)基礎(chǔ)課程,這個(gè)老師講的特別好,零基礎(chǔ)學(xué)習(xí)無壓力,知識點(diǎn)結(jié)合代碼,邊學(xué)邊練,可以免費(fèi)試看試學(xué),還有各種輔助工具和資料,非常適合新手!點(diǎn)這里前往學(xué)習(xí)哦!云端源想

          8、<datalist>標(biāo)簽:預(yù)定義選項(xiàng)列表

          <datalist>標(biāo)簽是HTML5中引入的一個(gè)新元素,它允許開發(fā)者為輸入字段提供預(yù)定義的選項(xiàng)列表。當(dāng)用戶在輸入字段中輸入時(shí),瀏覽器會(huì)顯示一個(gè)下拉菜單,其中包含與用戶輸入匹配的預(yù)定義選項(xiàng)。


          使用<datalist>標(biāo)簽可以提供更好的用戶體驗(yàn),因?yàn)樗梢詭椭脩暨x擇正確的選項(xiàng),而不必手動(dòng)輸入整個(gè)選項(xiàng)。此外,<datalist>還可以與<input>元素的list屬性結(jié)合使用,以將預(yù)定義的選項(xiàng)列表與特定的輸入字段關(guān)聯(lián)起來。



          下面是一個(gè)使用<datalist>標(biāo)簽的代碼示例:

          <form>
          <label for="color">選擇你喜歡的顏色:</label>
          <input type="text" id="color" name="color" list="colorOptions">
          <datalist id="colorOptions">
          <option value="紅色">
          <option value="藍(lán)色">
          <option value="綠色">
          <option value="黃色">
          <option value="紫色">
          </datalist>
          <input type="submit" value="提交">
          </form>


          9、<output>標(biāo)簽:計(jì)算結(jié)果輸出

          <output>標(biāo)簽是HTML5中引入的一個(gè)新元素,它用于顯示計(jì)算結(jié)果或輸出。該標(biāo)簽通常與JavaScript代碼結(jié)合使用,通過將計(jì)算結(jié)果賦值給<output>元素的value屬性來顯示結(jié)果。


          <output>標(biāo)簽可以用于各種類型的計(jì)算和輸出,例如數(shù)學(xué)運(yùn)算、字符串處理、數(shù)組操作等。它可以與<input>元素一起使用,以實(shí)時(shí)更新計(jì)算結(jié)果。



          下面是一個(gè)使用<output>標(biāo)簽的示例:

          <form>
          <label for="num1">數(shù)字1:</label>
          <input type="number" id="num1" name="num1" oninput="calculate()"><br><br>
          <label for="num2">數(shù)字2:</label>
          <input type="number" id="num2" name="num2" oninput="calculate()"><br><br>
          <label for="result">結(jié)果:</label>
          <output id="result"></output>
          </form>
          
          <script>
          function calculate() {
          var num1=parseInt(document.getElementById("num1").value);
          var num2=parseInt(document.getElementById("num2").value);
          var result=num1 + num2;
          document.getElementById("result").value=result;
          }
          </script>


          10、<progress>標(biāo)簽:任務(wù)進(jìn)度展示

          <progress>標(biāo)簽是HTML5中用于表示任務(wù)完成進(jìn)度的一個(gè)新元素。它通過value屬性和max屬性來表示進(jìn)度,其中value表示當(dāng)前完成的值,而max定義任務(wù)的總量或最大值。

          示例:

          <!DOCTYPE html>
          <html>
          <head>
          <title>Progress Example</title>
          </head>
          <body>
          <h1>File Download</h1>
          <progress id="fileDownload" value="0" max="100"></progress>
          <br>
          <button onclick="startDownload()">Start Download</button>
          
          <script>
          function startDownload() {
          var progress=document.getElementById("fileDownload");
          for (var i=0; i <=100; i++) {
          setTimeout(function() {
          progress.value=i;
          }, i * 10);
          }
          }
          </script>
          </body>
          </html>

          在上面的示例中,我們創(chuàng)建了一個(gè)名為"fileDownload"的<progress>元素,并設(shè)置了初始值為0,最大值為100。我們還添加了一個(gè)按鈕,當(dāng)用戶點(diǎn)擊該按鈕時(shí),會(huì)觸發(fā)名為"startDownload"的JavaScript函數(shù)。這個(gè)函數(shù)模擬了一個(gè)文件下載過程,通過循環(huán)逐步增加<progress>元素的value屬性值,從而顯示下載進(jìn)度。


          11、<meter>標(biāo)簽:度量衡指示器

          <meter>標(biāo)簽在HTML中用于表示度量衡指示器,它定義了一個(gè)已知范圍內(nèi)的標(biāo)量測量值或分?jǐn)?shù)值,通常用于顯示磁盤使用情況、查詢結(jié)果的相關(guān)性等。例如:

          <p>CPU 使用率: <meter value="0.6" min="0" max="1"></meter> 60%</p>
          <p>內(nèi)存使用率: <meter value="0.4" min="0" max="1"></meter> 40%</p>

          在這個(gè)示例中,我們使用了兩個(gè)<meter>標(biāo)簽來分別顯示CPU和內(nèi)存的使用率。value屬性表示當(dāng)前的測量值,min和max屬性分別定義了測量范圍的最小值和最大值。通過這些屬性,<meter>標(biāo)簽?zāi)軌蚯逦仫@示出資源的使用情況。



          需要注意的是,<meter>標(biāo)簽不應(yīng)該用來表示進(jìn)度條,對于進(jìn)度條的表示,應(yīng)該使用<progress>標(biāo)簽。


          12、<details>和<summary>標(biāo)簽:詳細(xì)信息展示

          <details>和<summary>標(biāo)簽是HTML5中新增的兩個(gè)元素,用于創(chuàng)建可折疊的詳細(xì)信息區(qū)域。

          <details>標(biāo)簽定義了一個(gè)可以展開或折疊的容器,其中包含一些額外的信息。它通常與<summary>標(biāo)簽一起使用,<summary>標(biāo)簽定義了<details>元素的標(biāo)題,當(dāng)用戶點(diǎn)擊該標(biāo)題時(shí),<details>元素的內(nèi)容會(huì)展開或折疊。

          示例:

          <details>
          <summary>點(diǎn)擊查看詳細(xì)信息</summary>
          <p>這里是一些額外的信息,用戶可以點(diǎn)擊標(biāo)題來展開或折疊這些信息。</p>
          </details>

          在這個(gè)示例中,我們使用了<details>標(biāo)簽來創(chuàng)建一個(gè)可折疊的容器,并在其中添加了一個(gè)<summary>標(biāo)簽作為標(biāo)題。當(dāng)用戶點(diǎn)擊這個(gè)標(biāo)題時(shí),容器的內(nèi)容會(huì)展開或折疊。


          總結(jié):

          HTML表單標(biāo)簽是構(gòu)建動(dòng)態(tài)網(wǎng)頁的基石,它們使得用戶能夠與網(wǎng)站進(jìn)行有效的交互。


          通過合理地使用這些標(biāo)簽,開發(fā)者可以創(chuàng)建出既美觀又功能強(qiáng)大的表單,從而提升用戶體驗(yàn)和網(wǎng)站的可用性。所以說,掌握這些標(biāo)簽的使用,對于前端開發(fā)者來說是至關(guān)重要的。


          我們下期再見!


          END

          文案編輯|云端學(xué)長

          文案配圖|云端學(xué)長

          內(nèi)容由:云端源想分享


          主站蜘蛛池模板: 国模私拍福利一区二区| www.亚洲一区| 精品亚洲av无码一区二区柚蜜| 香蕉视频一区二区三区| 精品乱人伦一区二区| 亚洲国产精品一区二区第四页| 一区二区三区国模大胆| 国产免费一区二区视频| 亚洲av综合av一区二区三区| 精品国产亚洲第一区二区三区| 一区二区三区在线播放视频| 老湿机一区午夜精品免费福利| 无码av免费毛片一区二区| 国产精品免费一区二区三区四区| 国产乱码精品一区二区三| 一区二区免费国产在线观看| 国产主播一区二区三区在线观看| 精品久久久久久中文字幕一区| 亚洲精品国产suv一区88| 亚洲中文字幕久久久一区| 国产吧一区在线视频| 一本久久精品一区二区| 中文字幕人妻第一区| 国精产品一区一区三区有限公司| 波多野结衣一区视频在线| 在线日产精品一区| 亚洲AV无码一区二区三区电影| 国产精品久久一区二区三区| 亚洲福利秒拍一区二区| 欧美亚洲精品一区二区| 国语对白一区二区三区| 成人在线视频一区| 国产日韩精品一区二区三区在线| 亚洲日韩激情无码一区| 久久久精品人妻一区二区三区蜜桃 | 国模极品一区二区三区| 成人区人妻精品一区二区三区| 好吊妞视频一区二区| 久久国产精品免费一区二区三区| 中文无码AV一区二区三区| 色妞色视频一区二区三区四区|