2012-12-23 41 views
0
​​

我希望能夠按enter點擊按鈕時,文本框內。使用我的代碼時,當我按下文本框內的輸入按鈕時,單擊此按鈕,但在頁面刷新後,所有內容都會重新啓動,任何想法爲什麼以及如何防止它?爲什麼帶有輸入文本框和調用javascript函數的按鈕的表單輸入按鍵?

+0

而你的代碼將使你免費! –

+0

你是什麼意思?當我按下進入頁面刷新我的意志。 –

+0

嘗試執行功能,避免形式後返回false提交 – Tarek

回答

1

我相信問題是,按Enter鍵將觸發形式發佈。由於您有一個空的action-attribute,表單將發佈到當前頁面,該頁面看起來像一個重新加載。

爲了防止瀏覽器默認行爲張貼上輸入形式,嘗試從您的onkeydown回調返回false

if(event.keyCode == 13) { document.getElementById('okButton').click(); return false; } 

你也可以撥打該事件,這將做同樣的事情的.preventDefault()方法。

簡化和澄清道:

由於在okButton點擊會調用JS_function(),而不是觸發按鈕點擊事件,你可以直接從您的onkeydown事件致電JS_function()代替。

<input id="user_input" onKeyDown="if(event.keyCode == 13) { JS_function(); return false; }" > 
+0

謝謝!真的有幫助! :) –

+0

@KalleEkman我的榮幸! –

0

使用此在您的onkeydown

if(event.keyCode == 13){event.preventDefault(); document.getElementById('okButton').click();} 

它將停止發佈的默認操作,讓你做你的東西,如點擊OK按鈕。

+0

謝謝你!你真了不起!我花了幾個小時尋找一個簡單的解決方案,就是這樣!謝啦。 –

+0

請標記他的帖子作爲答案。不要因爲呆上幾個小時而感到不快,你可​​能學到了很多東西。 –

相關問題