如何讓form表單在enter鍵入時不提交


今天在做我的一個小玩意 在線聊天工具的時候

form表單只有一個text和一個button每當我鍵入enter的時候就刷新。很是郁悶,直接在form上onsumbit=false。才行。

下面是我查詢到的結果。

1.form表單回車后自動提交總結

        默認情況下,一個文本框的時候,提交,不管按鈕type是submit還是button

        一個文本框的時候怎么才能做到不提交,方法是加一個隱藏掉的文本框

       只要有type為submit的按鈕存在,一個文本框還是多個文本框都提交

 

 

       多個文本框的時候,不提交,用type為button的按鈕就行啦

 

 

       用button元素時,FX和IE下有不同的表現

        radio和checkbox在FX下也會觸發提交表單,在IE下不會

        type為image的按鈕,等同於type為submit的效 果

 

2. 如果 onsubmit 句柄返回 fasle,表單的元素就不會提交。如果該函數返回其他值或什么都沒有返回,則表單會被提交。

        由於 onsubmit 句柄可以取消表單的提交,所以它對於進行表單驗證是十分理想的;

        這樣的話,修改form的onsubmit事件可以讓敲入回車的時候執行我們想要的操作而不跳轉到action所指定的url,如下:

        <form action="myurl" onSubmit="fun1();return false;">

        執行fun1后不會跳轉,方便表單操作

3.使用onkeydown事件,如下:

        <input type="text"  onkeydown="if(event.keyCode==13){fun1();}"/>

        這樣在文本輸入框內輸入文字后直接敲擊回車,也會執行fun1函數

 

        有個疑問問下大家,onkeydown事件能為form或者div這樣的元素注冊嗎,比如說

        <div onkeydown=" if(event.keyCode==13){fun1();} "></div>

        就是希望在焦點在div層的任何一個地方的時候,敲擊回車活也執行fun1,而不是非要焦點在文本輸入框的時候敲擊回車才去執行fun1,那位清楚的探討下,我試了下貌似不行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM