從 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...