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