在javaScript中關(guān)于submit和button的區(qū)別介紹
更新時(shí)間:2013年10月20日 15:01:33 作者:
submit是button的一個(gè)特例,也是button的一種,它把提交這個(gè)動(dòng)作自動(dòng)集成了,submit和button,二者都以按鈕的形式展現(xiàn),看起來都是按鈕,所不同的是type屬性和處發(fā)響應(yīng)的事件上
submit是button的一個(gè)特例,也是button的一種,它把提交這個(gè)動(dòng)作自動(dòng)集成了。
如果表單在點(diǎn)擊提交按鈕后需要用JS進(jìn)行處理(包括輸入驗(yàn)證)后再提交的話,通常都必須把submit改成button,即取消其自動(dòng)提交的行為,否則,將會(huì)造成提交兩次的效果,對(duì)于動(dòng)態(tài)網(wǎng)頁來說,也就是對(duì)數(shù)據(jù)庫操作兩次?;蛘咴谑褂胹ubmit時(shí)驗(yàn)證時(shí)加return true或false。
submit和button,二者都以按鈕的形式展現(xiàn),看起來都是按鈕,所不同的是type屬性和處發(fā)響應(yīng)的事件上,submit會(huì)提交表單,button不會(huì)提交表單. 兩者主要區(qū)別在于:
submit默認(rèn)為form提交,可以提交表單(form).
button則響應(yīng)用戶自定義的事件,如果不指定onclick等事件處理函數(shù),它是不做任何事情.當(dāng)然,button也可以完成表單提交的工作. INPUT type=submit 即發(fā)送表單,按回車提交表單
INPUT type=button 就是單純的按鈕功能,提交的是innerTEXT
===============submit 和 button的詳細(xì)對(duì)比===================================
submit:特殊的button,會(huì)自動(dòng)將表單的數(shù)據(jù)提交,onClick方法不加return 會(huì)自動(dòng)提交,并不會(huì)起到約束的作用,
所以,使用submit時(shí)需要驗(yàn)證請(qǐng)加 return true或false.
例:<input type="submit" name="Submit" value="注 冊(cè)" onClick=" return check();">,在JS中判斷的時(shí)候 寫return true; 或者 return false; button:普通的按鈕,不會(huì)自動(dòng)提交表單數(shù)據(jù).可以在JS中顯式提
交:document.form1.submit(),使用場合: 一個(gè)頁面有多個(gè)提交按鈕,需要根據(jù)用戶的操作來確定到底提交到哪個(gè)控制器,這種情況下,就需要在JS中判斷用戶的操作,然后根據(jù)操作來給document.form1.action賦值并且document.form1.submit()來提交
===============如果想好所有的提交都在一個(gè)servlet中處理,該怎么做==================
提交的按鈕也是HTML組件,所以也可以通過 getParameter()來得到,那么getParameter()的參數(shù)也需要固定下來
參數(shù)就是所有的表單的提交按鈕的name,當(dāng)然提交按鈕的name要一樣才能統(tǒng)一在一個(gè)servlet中根據(jù)提交按鈕的值來區(qū)別操作
附代碼:
js文件
用submit的時(shí)候,jsp頁面
用button的時(shí)候,jsp代碼
如果表單在點(diǎn)擊提交按鈕后需要用JS進(jìn)行處理(包括輸入驗(yàn)證)后再提交的話,通常都必須把submit改成button,即取消其自動(dòng)提交的行為,否則,將會(huì)造成提交兩次的效果,對(duì)于動(dòng)態(tài)網(wǎng)頁來說,也就是對(duì)數(shù)據(jù)庫操作兩次?;蛘咴谑褂胹ubmit時(shí)驗(yàn)證時(shí)加return true或false。
submit和button,二者都以按鈕的形式展現(xiàn),看起來都是按鈕,所不同的是type屬性和處發(fā)響應(yīng)的事件上,submit會(huì)提交表單,button不會(huì)提交表單. 兩者主要區(qū)別在于:
submit默認(rèn)為form提交,可以提交表單(form).
button則響應(yīng)用戶自定義的事件,如果不指定onclick等事件處理函數(shù),它是不做任何事情.當(dāng)然,button也可以完成表單提交的工作. INPUT type=submit 即發(fā)送表單,按回車提交表單
INPUT type=button 就是單純的按鈕功能,提交的是innerTEXT
===============submit 和 button的詳細(xì)對(duì)比===================================
submit:特殊的button,會(huì)自動(dòng)將表單的數(shù)據(jù)提交,onClick方法不加return 會(huì)自動(dòng)提交,并不會(huì)起到約束的作用,
所以,使用submit時(shí)需要驗(yàn)證請(qǐng)加 return true或false.
例:<input type="submit" name="Submit" value="注 冊(cè)" onClick=" return check();">,在JS中判斷的時(shí)候 寫return true; 或者 return false; button:普通的按鈕,不會(huì)自動(dòng)提交表單數(shù)據(jù).可以在JS中顯式提
交:document.form1.submit(),使用場合: 一個(gè)頁面有多個(gè)提交按鈕,需要根據(jù)用戶的操作來確定到底提交到哪個(gè)控制器,這種情況下,就需要在JS中判斷用戶的操作,然后根據(jù)操作來給document.form1.action賦值并且document.form1.submit()來提交
===============如果想好所有的提交都在一個(gè)servlet中處理,該怎么做==================
提交的按鈕也是HTML組件,所以也可以通過 getParameter()來得到,那么getParameter()的參數(shù)也需要固定下來
參數(shù)就是所有的表單的提交按鈕的name,當(dāng)然提交按鈕的name要一樣才能統(tǒng)一在一個(gè)servlet中根據(jù)提交按鈕的值來區(qū)別操作
附代碼:
js文件

用submit的時(shí)候,jsp頁面

用button的時(shí)候,jsp代碼

您可能感興趣的文章:
- button沒寫type=button會(huì)導(dǎo)致點(diǎn)擊時(shí)提交
- input、button的不同type值在ajax提交表單時(shí)導(dǎo)致的陷阱
- JavaScript在form表單中使用button按鈕實(shí)現(xiàn)submit提交方法
- JS button按鈕實(shí)現(xiàn)submit按鈕提交效果
- input submit、button和回車鍵提交數(shù)據(jù)詳解
- 在jQuery ajax中按鈕button和submit的區(qū)別分析
- 在一個(gè)form用一個(gè)SUBMIT(或button)分別提交到兩個(gè)處理表單頁面的代碼
- JS中type="button"和type="submit"的區(qū)別
相關(guān)文章
Javascript中arguments和arguments.callee的區(qū)別淺析
這篇文章主要介紹了Javascript中arguments和arguments.callee的區(qū)別淺析,本文用一個(gè)實(shí)例來理解它們的區(qū)別,需要的朋友可以參考下2015-04-04JavaScript中Number.MIN_VALUE屬性的使用示例
這篇文章主要介紹了JavaScript中Number.MIN_VALUE屬性的使用示例,是JS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-06-06Three.js源碼閱讀筆記(基礎(chǔ)的核心Core對(duì)象)
Three.js是一個(gè)比較偉大的webgl開源庫,它簡化了瀏覽器3D編程,使得使用JavaScript在瀏覽器中創(chuàng)建復(fù)雜的場景變得容易很多接下來先從最基礎(chǔ)的核心(Core)對(duì)象開始,感興趣的朋友可以參考下2012-12-12