(轉)在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函數,才會提交表單。
 


免責聲明!

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



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