input的button和submit的區別


故事由來:

  其實這個問題,昨天已經遇到過,但是昨天是公司的一枚老員工幫助我這個實習生調的,而且我也確(猜)定(測)那枚老員工也不知道這個區別。然后今天又遇到相同問題。

故事梗概:

  現在公司里面做一個項目,用到AngularJs框架,我的老大給了我一個接口服務,給我去調用和測試,我部署完項目的包在本地tomcat服務器后,開始寫前端的代碼,從html到css到JavaScript(用的少)到bootstrap,好。現在前端的靜態界面搭出來了。然后用老大給的接口服務去測試,angularJS的是一個MVVM框架,典型就是雙向綁定,然后寫完相關邏輯代碼后,每次界面都會無厘頭的跳到自己,我看我的代碼中,如果response返回的是true的話,應該是跳到order界面,而false的話是跳到login界面,總之就是不跳到自己,真是怪了!然后我打開chrome的開發者工具,發現每次都不走寫的Angular的函數里。后來,檢查出ng-model沒問題,然后發現input的type是submit,我嘗試改成button,哎喲喂,盡然一切都ok了。這讓我百思不得其解,遂寫這個隨筆,找出事情真相。

故事真相:

  總體上:有input和button都能當按鈕使用,都能把數據提交到后端供后端處理。

  不同點:①input本是輸入,但是type="submit"后,也起到提交的作用,所以 input 是提交表單

<input type="submit" value="提交">

 

  ②button是按鈕,他是純的按鈕,如果不在按鈕上加上操作,點擊沒有任何反應,只有加上類似type="submit" onclick="xxx()"才能起到按鈕提交的作用。

<button type="submit">確定</button>

  所以,按照軟件設計模式的大原則---單一職責原則,建議用button來作為按鈕,而少用input作為提交按鈕,input按鈕應該作為數據的輸入來使用。

  以上內容來自一個實習生學習前端的感悟。不當之處,還請看客能指出,並在此多謝!

 


免責聲明!

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



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