form表單中id與name的區別


以前經常寫form表單時,不寫id和name,總覺得沒有什么用。后來一看后台套完的頁面發現,他們都補上name,不知道所以然,就查了一下資料,嚇我一跳,要是照我那樣寫根本不會有數據傳到服務器。原來表單提交用戶輸入的數據,是根據表單元素的name值來控制表單控件的。那么表單控件里面的id是干嘛的?就是為了區別不同的表單控件,還有一個作用,就是點擊表單控件提示信息時也能讓表單控件獲得焦點的效果,用label提高用戶體驗,這時的label屬性中的for是跟表單控件的id一致的,我以前老是搞混,以為是跟控件的name值一樣,因為看例子中總是name值跟id值一樣。

  這也引出另一個問題就是label的用法:就是用for表示跟哪個表單元素綁定。所以它有兩種關聯方式,一個顯示關聯用for,一種是不用for的隱示關聯。

     所謂的顯示關聯就是label跟表單元素是並列關系

<label for='sex'>性別:</label>
<input type='text' id='sex' name='gender'>

這里看到id和name值不是必須一樣

隱示關聯就是label跟表單元素是包含關系,這時候label里面不需要for,表單元素也不需要id

<label>性別:<input type='text' name='gender'></label>

這里看到沒有id可以,但是name是必須要的,以后一定要記住啊!

那我們再回到主題form表單中的id 與name的區別,前面說到的是一些html結構方面的區別,下面說一下他們的其他區別。

如果寫樣式,只能用id獲取他標示的表單元素

如果用js給表單元素添加交互效果,name和id都可以選中標示表單元素,只是形式有不同,document.getElementById("sex").value,要是用name獲取document.forms[0].gender.value


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM