电竞比分网-中国电竞赛事及体育赛事平台

分享

回車鍵敲在文本框里來提交表單的實(shí)現(xiàn)

 9252娃兒 2017-01-13

我們有時候希望回車鍵敲在文本框(input element)里來提交表單(form),但有時候又不希望如此。比如搜索行為,希望輸入完關(guān)鍵詞之后直接按回車鍵立即提交表單,而有些復(fù)雜表單,可能要避免回車鍵誤操作在未完成表單填寫的時候就觸發(fā)了表單提交。

要控制這些行為,不需要借助JS,瀏覽器已經(jīng)幫我們做了這些處理,這里總結(jié)幾條規(guī)則:

如果表單里有一個type=”submit”的按鈕,回車鍵生效。

如果表單里只有一個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下會響應(yīng)回車鍵,在IE下不響應(yīng)。

type=”image”的input,效果等同于type=”submit”,不知道為什么會設(shè)計(jì)這樣一種type,不推薦使用,應(yīng)該用CSS添加背景圖合適些。

實(shí)際應(yīng)用的時候,要讓表單響應(yīng)回車鍵很容易,保證表單里有個type=”submit”的按鈕就行。而當(dāng)只有一個文本框又不希望響應(yīng)回車鍵怎么辦呢?我的方法有點(diǎn)別扭,就是再寫一個無意義的文本框,隱藏起來。根據(jù)第3條規(guī)則,我們在用button的時候,盡量顯式聲明type以使瀏覽器表現(xiàn)一致。

做了一個DEMO 列出了一些例子。

運(yùn)行代碼框
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www./TR/html4/strict.dtd">
< html>
< head>
< meta http-equiv="Content-Type" content="text/html; charset=GBK">
< title>submit</title>
< /head>
< body>
< h1>本demo演示在文本框中按enter鍵是否觸發(fā)提交表單</h1>
< h2>默認(rèn)情況下,一個文本框的時候,提交,不管按鈕type是submit還是button</h2>
< form action="http://www.">
< input type="text">
< input type="button" value="提交">
< /form>
< h2>一個文本框的時候怎么才能做到不提交,方法是加一個隱藏掉的文本框</h2>
< form action="http://www.">
< input type="text">
< input type="text" style="display:none">
< input type="button" value="提交">
< /form>
< h2>只要有type為submit的按鈕存在,一個文本框還是多個文本框都提交</h2>
< form action="http://www.">
< input type="text">
< input type="submit" value="提交">
< /form>
< h2>只要有type為submit的按鈕存在,一個文本框還是多個文本框都提交</h2>
< form action="http://www.">
< input type="text">
< input type="text">
< input type="submit" value="提交">
< /form>
< h2>多個文本框的時候,不提交,用type為button的按鈕就行啦</h2>
< form action="http://www.">
< input type="text">
< input type="text">
< input type="button" value="提交">
< /form>
< h2>用button元素時,F(xiàn)X和IE下有不同的表現(xiàn)</h2>
< form action="http://www.">
< input type="text">
< input type="text">
< button>提交</button>
< /form>
< h2>radio和checkbox在FX下也會觸發(fā)提交表單,在IE下不會</h2>
< form action="http://www.">
< input type="text">
< input type="radio" name="a">
< input type="checkbox" name="b">
< input type="checkbox" name="c">
< input type="button" value="提交">
< /form>
< h2>type為image的按鈕,等同于type為submit的效果</h2>
< form action="http://www.">
< input type="text">
< input type="text">
< input type="image" src=http://www./system/template/front/default/media/images/logo.gif>
< /form>
< /body>
< /html>

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多