網(wǎng)頁中表單按回車就自動提交的問題的解決方案
1、當(dāng)form表單中只有一個<input type="text" name="name" />時按回車鍵將會自動將表單提交。
<form id="form1" action="post.php" method="post">
<input type="text" name="name" />
</form>
再添加一個
<input type="text" />
按下回車將不會自動提交,但是頁面上顯示一個不知所云的輸入框挺別扭,后從網(wǎng)上搜到兩個解決辦法:
(1)添加一個
<input style="display: none;" type="text" />
不顯示輸入框,然后回車之后也不會提交:
<form id="form1" action="post.php" method="post">
<input type="text" name="name" />
<input style="display:none" />
</form>
(2)添加一個onkeydown事件,然后回車之后也不會顯示:
<form id="form1" action="post.php" method="post">
<input type="text" name="name" onkeydown="if(event.keyCode==13) return false;"/>
</form>
如果想添加回車事件可以在onkeydown事件中添加判斷提交表單:
<form id="form1" action="post.php" method="post">
<input style="display:none" />
<input type="text" name="name" onkeydown="if(event.keyCode==13){gosubmit();}" />
</form>
我們有時候希望回車鍵敲在文本框(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è)計這樣一種type,不推薦使用,應(yīng)該用CSS添加背景圖合適些。
相關(guān)文章
分析Node.js connect ECONNREFUSED錯誤
最近在準(zhǔn)備Angularjs +node.js demo的時候在我的mac開發(fā)中 遇見此錯誤2013-04-04
JavaScript操作數(shù)組的常用方法總結(jié)
這篇文章總結(jié)了JavaScript操作數(shù)組的常用方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06
js鼠標(biāo)點擊事件在各個瀏覽器中的寫法及Event對象屬性介紹
各個主流瀏覽器德鼠標(biāo)點擊事件,方便使用時查詢,整理還算是很詳細(xì)吧,感興趣的你可以參考下啊,希望本文對你有所幫助2013-01-01
關(guān)于js中alert彈出窗口文本換行問題簡單詳細(xì)說明
js中alert彈出窗口文本換行是一個小問題,本人很是郁悶,于是搜集整理下,曬出來和大家分享2012-12-12

