回車自動(dòng)提交 禁止回車自動(dòng)提交
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
在開發(fā)過(guò)程中有時(shí)候需要回車自動(dòng)提交,有時(shí)候有不不需要回車自動(dòng)提交。很多人都喜歡用JS控制,但是用jS控制并不穩(wěn)定。其實(shí)瀏覽器已經(jīng)幫我們做好了這一補(bǔ)。。在網(wǎng)上找到了解答,如下:
今天遇到一個(gè)很變態(tài)的問(wèn)題,由于一個(gè)input框要用suggest ,會(huì)用到回車事件。但是在一個(gè)form里面,按回車的時(shí)候我的form自動(dòng)提交了,怎么改動(dòng)不行。 把submit改成button,也不行??礃幼邮亲詣?dòng)執(zhí)行了form.submit() 解決方法如下: 我們有時(shí)候希望回車鍵敲在文本框(input element)里來(lái)提交表單(form),但有時(shí)候又不希望如此。比如搜索行為,希望輸入完關(guān)鍵詞之后直接按回車鍵立即提交表單,而有些復(fù)雜表單,可能要避免回車鍵誤操作在未完成表單填寫的時(shí)候就觸發(fā)了表單提交。 要控制這些行為,不需要借助JS,瀏覽器已經(jīng)幫我們做了這些處理,這里總結(jié)幾條規(guī)則: 如果表單里有一個(gè)type=”submit”的按鈕,回車鍵生效。 如果表單里只有一個(gè)type=”text”的input,不管按鈕是什么type,回車鍵生效。 如果按鈕不是用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)回車鍵,在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è)無(wú)意義的文本框,隱藏起來(lái)。根據(jù)第3條規(guī)則,我們?cè)谟胋utton的時(shí)候,盡量顯式聲明type以使瀏覽器表現(xiàn)一致。 以下demo列出了一些例子: [code] 本demo演示在文本框中按enter鍵是否觸發(fā)提交表單默認(rèn)情況下,一個(gè)文本框的時(shí)候,提交,不管按鈕type是submit還是button一個(gè)文本框的時(shí)候怎么才能做到不提交,方法是加一個(gè)隱藏掉的文本框只要有type為submit的按鈕存在,一個(gè)文本框還是多個(gè)文本框都提交只要有type為submit的按鈕存在,一個(gè)文本框還是多個(gè)文本框都提交多個(gè)文本框的時(shí)候,不提交,用type為button的按鈕就行啦用button元素時(shí),F(xiàn)X和IE下有不同的表現(xiàn)radio和checkbox在FX下也會(huì)觸發(fā)提交表單,在IE下不會(huì)type為image的按鈕,等同于type為submit的效果[/code] 該文章在 2011/6/21 15:32:01 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |