天天看點

在javascript中關于submit和button送出表單差別

原文:

原文來自:

submit是button的一個特例,也是button的一種,它把送出這個動作自動內建了,submit和button,二者都以按鈕的形式展現,看起來都是按鈕,所不同的是type屬性和處發響應的事件上。

     1、

如果表單在點選送出按鈕後需要用JS進行處理(包括輸入驗證)後再送出的話,通常都必須把submit改成button,即取消其自動送出的行為,

否則,将會造成送出兩次的效果,對于動态網頁來說,也就是對資料庫操作兩次。或者在使用submit時驗證時加return

true或false。 

2、submit和button,二者都以按鈕的形式展現,看起來都是按鈕,所不同的是type屬性和處發響應的事件上,submit會送出表單,button不會送出表單.

兩者主要差別在于: 

submit預設為form送出,可以送出表單(form). 

button則響應使用者自定義的事件,如果不指定onclick等事件處理函數,它是不做任何事情.當然,button也可以完成表單送出的工作.

INPUT type=submit 即發送表單,按回車送出表單 

INPUT type=button 就是單純的按鈕功能,送出的是innerTEXT 

===============submit 和

button的詳細對比=================================== 

submit:特殊的button,會自動将表單的資料送出,onClick方法不加return

會自動送出,并不會起到限制的作用, 

是以,使用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中根據送出按鈕的值來差別操作 

附代碼: 

js檔案 

用submit的時候,jsp頁面 

用button的時候,jsp代碼 

了解:

submit是特殊的button,會直接送出表單,使用button時 ,不要又onclick函數,才會送出表單。