關於 input[type="button"] , button


搜了一下國內關於 input , button 文章 , 

大多數內容如下 : http://lfx-cool.iteye.com/blog/427286

好像沒有那篇文章專門來介紹 input[type="button"] 和 button 的前世今生 ,

也沒有從規范,語義等方面講解什么時候該用那個,什么時候不該用那個,

當然這也不是本文的重點 , 

喜歡用那個純屬個人習慣(沒有規范和語義標准時) , 個人比較喜歡用 button ,

因為 button 有 input[type="button"] 所有的功能且可以包含內容 ,

個人覺得 button 的語義相對更明確一些 ,

 

input 標簽的 type 應該是沒有默認值的 , w3c 上面沒有做說明  http://www.w3school.com.cn/tags/tag_input.asp 

如果 input 的 type 為空 , 默認會顯示為 input 文本框 (只測試了部分瀏覽器) , 可以正常的輸入 , 提交值 ,

當然 jQuery(':text') 是獲取不到的 ,

 

button 標簽的 type 是有默認值的 , 而且各瀏覽器默認值還不一樣 ,

w3c : 請始終為按鈕規定 type 屬性。Internet Explorer 的默認類型是 "button",而其他瀏覽器中(包括 W3C 規范)的默認值是 "submit"。

http://www.w3school.com.cn/tags/tag_button.asp

問題就出在這 , 項目中 , 不同的 開發者 有的給 button 指定了 type , 有的默認 , 最后不同的瀏覽器 就不一樣了 , 然后就 bug 了 , 

 

測試結果如下:

非 ie , 是按照 w3c 標准 , button type 默認是 submit 的,

ie , w3c 官方說 button type 默認是 button ,

大家都知道 ie 目前有 ie 6,7,8,9 等 4 個 版本 ,

ie8+ button type 默認是 submit 

ie7   button type 默認是 button

ie6   沒有測試 , 我想應該和 ie7 一致的 !

 

最后提醒 : 使用 button 時 請盡量給 button 指定默認 type !

 

如有問題 , 請大家指出 , 謝謝 !

 

 

 

 

 




免責聲明!

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



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