input type=submit 和button的区别及表单提交
生活随笔
收集整理的這篇文章主要介紹了
input type=submit 和button的区别及表单提交
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在一個頁面上畫一個按鈕,有四種辦法:
從畫面表現上看,通過CSS可以把兩者描繪得完全一樣。
從畫面動作上看,通過JS可以強制兩者動作也一致(都提交或者都不提交)。
但是只有表單數據這個特性,是無法混淆的。<button>無法把自己當成Form的數據。
所以,如果只是個單純的按鈕,觸發一些畫面動作,請使用<button>;反之,會把畫面的數據提交給Server的,一般用<input type="submit" />,當然<button>+JS也完全可以取代。
- 1 <input type="button" /> 這就是一個按鈕。如果你不寫javascript 的話,按下去什么也不會發生。
- 2 <input type="submit" /> 這樣的按鈕用戶點擊之后會自動提交 form,除非你寫了javascript 阻止它。
- 3 <button> 這個按鈕放在 form 中也會點擊自動提交,比前兩個的優點是按鈕的內容不光可以有文字,還可以有圖片等多媒體內容。(當然,前兩個用圖片背景也可以做到)。它的缺點是不同的瀏覽器得到的 value 值不同;可能還有其他的瀏覽器兼容問題(葛亮)。
- 4 ?其他標簽,例如 a, img, span, div,然后用圖片把它偽裝成一個按鈕。
?
?
提交表單的方式:??
- 1 <input type="button" />?這就是一個按鈕。通過編寫javascript,添加 onclick提交form。
- 2 <input type="submit" />?這樣的按鈕用戶點擊之后會自動提交 form,除非你寫了javascript 阻止它。
- 3 <button>?這個按鈕放在 form 中也會點擊自動提交
- 4 ?<input type="image">此標簽放置在<form>標簽內就具有提交功能
?
需要強調的一點是,其實<input type="submit" />不是一個畫面元素,而是一個表單(Form)元素,和文本輸入是一樣的,都屬于“數據”的一部分(特征是,有value屬性,而且該屬性的值,會被傳送到server端,可以拿來用),而不是樣式的一部分。這種表現和數據混淆的設計,是早期web標準還比較簡陋的時代的遺產。從畫面表現上看,通過CSS可以把兩者描繪得完全一樣。
從畫面動作上看,通過JS可以強制兩者動作也一致(都提交或者都不提交)。
但是只有表單數據這個特性,是無法混淆的。<button>無法把自己當成Form的數據。
所以,如果只是個單純的按鈕,觸發一些畫面動作,請使用<button>;反之,會把畫面的數據提交給Server的,一般用<input type="submit" />,當然<button>+JS也完全可以取代。
作者:zhaosj
鏈接:https://www.zhihu.com/question/20839977/answer/21842933
來源:知乎
著作權歸作者所有,轉載請聯系作者獲得授權。
作者:王洪雷
鏈接:https://www.zhihu.com/question/20839977/answer/16354924
來源:知乎
著作權歸作者所有,轉載請聯系作者獲得授權。
轉載于:https://www.cnblogs.com/mawenying/p/6590260.html
總結
以上是生活随笔為你收集整理的input type=submit 和button的区别及表单提交的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jmeter性能指标
- 下一篇: Ionic3 环境搭建以及基础配置实现(