html中submit和button的區別(總結)

submit是button的一個特例,也是button的一種,它把提交這個動做自動集成了。html

若是表單在點擊提交按鈕後須要用JS進行處理(包括輸入驗證)後再提交的話,一般都必須把submit改爲button,即取消其自動提交的行爲,不然,將會形成提交兩次的效果,對於動態網頁來講,也就是對數據庫操做兩次。或者在使用submit時驗證時加return true或false。數據庫

 

submit和button,兩者都以按鈕的形式展示,看起來都是按鈕,所不一樣的是type屬性和處發響應的事件上,submit會提交表單,button不會提交表單.瀏覽器

二者主要區別在於:jsp

submit默認爲form提交,能夠提交表單(form)。函數

button則響應用戶自定義的事件,若是不指定onclick等事件處理函數,它是不作任何事情.固然,button也能夠完成表單提交的工做。post

INPUT   type=submit 即發送表單,按回車提交表單   this

INPUT   type=button 就是單純的按鈕功能,提交的是innerTEXT設計

 

===============submit 和 button的詳細對比===================================orm

  submit:特殊的button,會自動將表單的數據提交,onClick方法不加return 會自動提交,並不會起到約束的做用,htm

因此,使用submit時須要驗證請加 return true或false.

例:<input type="submit" name="Submit" value="注 冊" onClick=" return check();">,在JS中判斷的時候 寫return true; 或者 return false;

  button:普通的按鈕,不會自動提交表單數據.能夠在JS中顯式提交:document.form1.submit(),使用場合: 一個頁面有多個提交按鈕,須要根據用戶的操做來肯定到底提交到哪一個控制器,這種狀況下,就須要在JS中判斷用戶的操做,而後根據操做來給document.form1.action賦值而且document.form1.submit()來提交

 

===============若是想好全部的提交都在一個servlet中處理,該怎麼作==================

 提交的按鈕也是HTML組件,因此也能夠經過 getParameter()來獲得,那麼getParameter()的參數也須要固定下來

 參數就是全部的表單的提交按鈕的name,固然提交按鈕的name要同樣才能統一在一個servlet中根據提交按鈕的值來區別操做

 

======================關於路徑的設置===================================

A.在頁面中直接寫路徑,如 href="jsp/a.html" 表示 平級目錄的訪問,此例表示平級目錄中有個JSP文件夾,訪問的是文件夾中的a.html文件

B.在JAVA中直接寫路徑,如 response.sendRedirect("jsp/a.jsp")表示項目根目錄下有個JSP文件夾,訪問的是文件夾中的a.jsp文件

C.若是發現以上設置在瀏覽器中的地址欄不正確,能夠採起絕對路徑寫法:/工程名/文件夾名/文件名

 

可是對於從事WEB UI的人應該要注意到,使用submit來提升頁面易用性:

使用submit後,頁面支持鍵盤enter鍵操做,而不少WEB軟件設計師,可能沒有注意到submit統一.

用button後每每頁面不支持enter鍵了。因此須要支持enter鍵,必需要設置個submit,默認enter鍵對頁面第一個submit進行操做。

 

<input type="submit" name="b1" value="提交" onClick="bt_submit_onclick()">

執行完onClick,轉到action。能夠自動提交不須要onClick,因此說onclick這裏能夠不要。

 

<input type="button" name="b1" value="提交" onClick="bt_submit_onclick()">

執行完onClick,跳轉文件在 js文件裏控制,提交須要onClick.若是這兒沒有 onClick

 

例如:

type="submit"

<form id="frm1" action="<%=request.ServerVariables("Script_Name")%>" method="post" onSubmit="return check_submit(this)">

<input id="btnconfirm" type="submit" value="肯定" name="btnconfirm"></form>

 

type="button"

<form id="frmAddModi" action="<%=request.ServerVariables("Script_Name")%>" method="post" name="frmAddModi" >

<input id="btnconfirm" type="button" value="肯定" name="btnconfirm" onClick="check(frmAddModi);"/></form>

相關文章
相關標籤/搜索