我們有時(shí)候希望回車鍵敲在文本框(input element)里來提交表單(form),但有時(shí)候又不希望如此。比如搜索行為,希望輸入完關(guān)鍵詞之后直接按回車鍵立即提交表單,而有些復(fù)雜表單,可能要避免回車鍵誤操作在未完成表單填寫的時(shí)候就觸發(fā)了表單提交。
要控制這些行為,不需要借助JS,瀏覽器已經(jīng)幫我們做了這些處理,這里總結(jié)幾條規(guī)則:
- 如果表單里有一個(gè)type=”submit”的按鈕,回車鍵生效。
- 如果表單里只有一個(gè)type=”text”的input,不管按鈕是什么type,回車鍵生效。
- 如果按鈕不是用input,而是用button,并且沒有加type,IE下默認(rèn)為type=button,F(xiàn)X默認(rèn)為type=submit。
- 其他表單元素如textarea、select不影響,radio checkbox不影響觸發(fā)規(guī)則,但本身在FX下會(huì)響應(yīng)回車鍵,在IE下不響應(yīng)。
- type=”image”的input,效果等同于type=”submit”,不知道為什么會(huì)設(shè)計(jì)這樣一種type,不推薦使用,應(yīng)該用CSS添加背景圖合適些。
實(shí)際應(yīng)用的時(shí)候,要讓表單響應(yīng)回車鍵很容易,保證表單里有個(gè)type=”submit”的按鈕就行。而當(dāng)只有一個(gè)文本框又不希望響應(yīng)回車鍵怎么辦呢?我的方法有點(diǎn)別扭,就是再寫一個(gè)無意義的文本框,隱藏起來。根據(jù)第3條規(guī)則,我們在用button的時(shí)候,盡量顯式聲明type以使瀏覽器表現(xiàn)一致。
做了一個(gè) demo(點(diǎn)擊查看) 列出了一些例子。
本文鏈接:http://m.95time.cn/tech/web/2009/6390.asp
出處:口碑網(wǎng)UED Team
責(zé)任編輯:bluehearts
◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評論。
|