javascript 回車(chē)鍵觸發(fā)表單提交的問(wèn)題
更新時(shí)間:2010年04月15日 20:39:18 作者:
我們有時(shí)候希望回車(chē)鍵敲在文本框(input element)里來(lái)提交表單(form),但有時(shí)候又不希望如此。
比如搜索行為,希望輸入完關(guān)鍵詞之后直接按回車(chē)鍵立即提交表單,而有些復(fù)雜表單,可能要避免回車(chē)鍵誤操作在未完成表單填寫(xiě)的時(shí)候就觸發(fā)了表單提交。
要控制這些行為,不需要借助JS,瀏覽器已經(jīng)幫我們做了這些處理,這里總結(jié)幾條規(guī)則:
如果表單里有一個(gè)type=”submit”的按鈕,回車(chē)鍵生效。
如果表單里只有一個(gè)type=”text”的input,不管按鈕是什么type,回車(chē)鍵生效。
如果按鈕不是用input,而是用button,并且沒(méi)有加type,IE下默認(rèn)為type=button,F(xiàn)X默認(rèn)為type=submit。
其他表單元素如textarea、select不影響,radio checkbox不影響觸發(fā)規(guī)則,但本身在FX下會(huì)響應(yīng)回車(chē)鍵,在IE下不響應(yīng)。
type=”image”的input,效果等同于type=”submit”,不知道為什么會(huì)設(shè)計(jì)這樣一種type,不推薦使用,應(yīng)該用CSS添加背景圖合適些。
實(shí)際應(yīng)用的時(shí)候,要讓表單響應(yīng)回車(chē)鍵很容易,保證表單里有個(gè)type=”submit”的按鈕就行。而當(dāng)只有一個(gè)文本框又不希望響應(yīng)回車(chē)鍵怎么辦呢?我的方法有點(diǎn)別扭,就是再寫(xiě)一個(gè)無(wú)意義的文本框,隱藏起來(lái)。根據(jù)第3條規(guī)則,我們?cè)谟胋utton的時(shí)候,盡量顯式聲明type以使瀏覽器表現(xiàn)一致。
做了一個(gè) demo(點(diǎn)擊查看) 列出了一些例子。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
要控制這些行為,不需要借助JS,瀏覽器已經(jīng)幫我們做了這些處理,這里總結(jié)幾條規(guī)則:
如果表單里有一個(gè)type=”submit”的按鈕,回車(chē)鍵生效。
如果表單里只有一個(gè)type=”text”的input,不管按鈕是什么type,回車(chē)鍵生效。
如果按鈕不是用input,而是用button,并且沒(méi)有加type,IE下默認(rèn)為type=button,F(xiàn)X默認(rèn)為type=submit。
其他表單元素如textarea、select不影響,radio checkbox不影響觸發(fā)規(guī)則,但本身在FX下會(huì)響應(yīng)回車(chē)鍵,在IE下不響應(yīng)。
type=”image”的input,效果等同于type=”submit”,不知道為什么會(huì)設(shè)計(jì)這樣一種type,不推薦使用,應(yīng)該用CSS添加背景圖合適些。
實(shí)際應(yīng)用的時(shí)候,要讓表單響應(yīng)回車(chē)鍵很容易,保證表單里有個(gè)type=”submit”的按鈕就行。而當(dāng)只有一個(gè)文本框又不希望響應(yīng)回車(chē)鍵怎么辦呢?我的方法有點(diǎn)別扭,就是再寫(xiě)一個(gè)無(wú)意義的文本框,隱藏起來(lái)。根據(jù)第3條規(guī)則,我們?cè)谟胋utton的時(shí)候,盡量顯式聲明type以使瀏覽器表現(xiàn)一致。
做了一個(gè) demo(點(diǎn)擊查看) 列出了一些例子。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
您可能感興趣的文章:
- 如何使用JavaScript和正則表達(dá)式進(jìn)行數(shù)據(jù)驗(yàn)證
- Javascript級(jí)聯(lián)下拉菜單以及AJAX數(shù)據(jù)驗(yàn)證核心代碼
- asp.net中JavaScript數(shù)據(jù)驗(yàn)證實(shí)現(xiàn)代碼
- js數(shù)據(jù)驗(yàn)證集合、js email驗(yàn)證、js url驗(yàn)證、js長(zhǎng)度驗(yàn)證、js數(shù)字驗(yàn)證等簡(jiǎn)單封裝
- JavaScript判斷表單提交時(shí)哪個(gè)radio按鈕被選中的方法
- JS定義網(wǎng)頁(yè)表單提交(submit)的方法
- Web表單提交之disabled問(wèn)題js解決方法
- 符合標(biāo)準(zhǔn)的js表單提交的代碼
- 可實(shí)現(xiàn)多表單提交的javascript函數(shù)
- 表單提交時(shí)自動(dòng)復(fù)制內(nèi)容到剪貼板的js代碼
- 基于JavaScript實(shí)現(xiàn)帶數(shù)據(jù)驗(yàn)證和復(fù)選框的表單提交
相關(guān)文章
Javascript select控件操作大全(新增、修改、刪除、選中、清空、判斷存在等)
這個(gè)是比較齊全的select操作代碼了,大家可以根據(jù)需要調(diào)用了2008-12-12可實(shí)現(xiàn)多表單提交的javascript函數(shù)
可實(shí)現(xiàn)多表單提交的javascript函數(shù)...2007-08-08javascript 清空f(shuō)orm表單中某種元素的值
比如在一個(gè)表單元素中 我們可以通過(guò)手寫(xiě)函數(shù),清空某種元素的值,以上是我的個(gè)人總結(jié),高手就繞過(guò)。2009-12-12js實(shí)現(xiàn)的的 文字自動(dòng)''到google search框
js實(shí)現(xiàn)的的 文字自動(dòng)''到google search框...2007-05-05JavaScript實(shí)現(xiàn)動(dòng)態(tài)增加文件域表單
對(duì)于上傳多個(gè)文件,可以通過(guò)js來(lái)動(dòng)態(tài)生成文件域,下面是源代碼,收藏在這里,供以后直接使用,hoho!2009-02-02javascript模擬select實(shí)現(xiàn)代碼
記錄一個(gè)自己作的小作品,一個(gè)js模擬的select。2010-08-08用 Javascript 驗(yàn)證表單(form)中的單選(radio)值
在用 Javascript 驗(yàn)證表單(form)中的單選框(radio)是否選中時(shí),很多新手都會(huì)遇到問(wèn)題,原因是 radio 和普通的文本框在獲取值的時(shí)候有很大不同.2009-09-09