今天在做我的一個小玩意 在線聊天工具的時候
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,那位清楚的探討下,我試了下貌似不行
