深入理解 form 系列(一) HTML 表單

2021-09-17 05:33:51 字數 1673 閱讀 2301

從 html 到 html5, 表單相關的元素已經得到了很大的擴充, 基本能夠滿足我們常見的需求。但在實際工作中, 因為互動或者瀏覽器相容的需要, 有時候不得不對原生的表單元素進行擴充套件或者模擬。但在此之前, 清楚的了解並掌握各種表單元素還是很重要的。在本文中, 我們將對表單元素 (預設是指 html5 表單元素)進行詳細的闡述。

執行上面的**可以看到, 提交表單之後,瀏覽器的位址會增加類似這樣的 query string?username=tom&passworkd=123&email=test%40gmail.com
需要跟使用者進行互動,並獲得使用者輸入的這一類表單元素,我們把它們歸類為可互動型表單元素

下面列舉出來了一些:

只是單純地反饋資訊, 不需要跟使用者進行互動的表單元素,我們把它們歸類為反饋型表單元素

下面列舉出來了一些:

對於output, 可以在form.oninput設定計算出來的 value
用來對多個表單元素進行分組的這一類表單元素, 我們把他們歸類為分組型表單元素

下面列舉出來了一些:

label
最基本的結構:

field:
const fromkeyvalues = ;

const fromvalues = ]}

};

如果對上面的**不是很清楚的, 請參考 qs

form.html

form.js

var $form = document.queryselector('form');

function getformvalues(form) ;

var elements = form.elements; // elemtns is an array-like object

for (var i = 0; i < elements.length; i++)

break;

case 'select-multiple':

values[input.name] = values[input.name] || ;

for (var j = 0; j < input.length; j++)

}break;

default:

values[input.name] = input.value;

break;}}

} return values;

}$form.addeventlistener('submit', function(event) );

如果你還想繼續了解在 react 中如何使用 form, 請移步我的另一篇部落格 react.js -- 優化你的表單

mdn 上關於 form 的介紹

深入理解REST(一)

1.什麼是 rest rest是representational state transfer的縮寫,於 r.fielding 的一篇博士 architectural styles and the design of network based software architectures rest...

深入理解DataAdapter(一)

ado.net有兩個核心元件 基於連線的data provider元件以及基於非連線的dataset元件。基於連線的data provider元件常用於實時地從資料庫中檢索資料。而基於非連線的dataset,似乎與資料庫沒有直接聯絡,僅僅用於在本地記憶體中儲存data provider提供的資料表或...

js深入理解 一

1if a b 兩者等價 a b alert hello word 2.給eval取別名var a 111 var b eval var c b a alert c 輸出 111 3.刪除元素 不能刪除 var語句宣告的變數 var o delete o.x alert o.x 輸出 undefin...