這兩天做hacking的時候有件事情沒弄明白,就是<input type="button" />和<input type="submit">究竟有啥區別。在StackOverFlow上看到了比較詳細的說明,跟大家分享下:
http://stackoverflow.com/questions/290215/difference-between-input-type-button-and-input-type-submit
在一個form中,
button默認是啥都不做的,必須要在button上寫js才能觸發各種動作。
submit默認即使啥js都不寫,也會提交form(準確的說是觸發onsubmit事件)。當然你也可以在上面寫js做點其他什麼事兒。
button上寫入onclick事件,只能通過鼠標點擊觸發。要用鍵盤觸發的話,需要再寫個onkeypress事件。
submit則除了鼠標之外,還可以通過鍵盤上的Enter觸發。
在w3school上有對於這兩個組件的詳細說明:
http://www.w3schools.com/tags/tag_button.asp
http://www.w3schools.com/jsref/dom_obj_submit.asp
簡單來說,submit就是一個默認被賦予了提交form功能的button。如果你需要的功能只是提交form,那就用submit最省事;如果想要實現較多自定義的功能,可能用button更加合適。
另外,如果你把button和submit互相轉換的時候程序報錯了,那麼請檢查form上的onsubmit事件,以及button/submit上的onclick等相關事件。