2016-12-16 36 views
0

所以我讀了很多關於這個,但我看到的資源沒有解決我的 特定問題。

目標:當文本輸入框,輸入被擊中,我想要的功能$("#search").click();運行
問題:相反,它似乎刷新頁面。輸入框重置頁面而不是運行功能

我有一個類似的問題,按鈕,但這是與type="button"解決。我試過改變輸入的類型爲submit, text, search,但沒有骰子。

我試過 設置onsubmit="return false;"input標記和父form標記和所有組合。

該函數的代碼:

$("#searchInput").keypress(function(e){ 
       if(e.which == 13){ 
        $("#search").click(); 
       }; 
     }); 

它是其之前的AJAX請求的範圍之外。我也試過keyCode

編輯:精縮& &編輯#2上編輯爆料點擊功能:這裏是小提琴:https://jsfiddle.net/bushido/ypxm0ukL/13/
感謝所有幫助

回答

1

的js小提琴這裏:https://jsfiddle.net/sav1q3wt/1/

的事情,我做的事:

1)將keypress事件處理程序移出onclick
2)將onclick更改爲submit並添加e.preventDefault();

編輯:

preventDefault()防止默認行爲,例如:重定向點擊提交按鈕

+0

啊美麗,非常感謝你的設備。它現在有效 – Danny

1

如果將按鍵處理出來的onclick,並添加preventDefault()方法的按鍵處理後,它應該工作根據需要:

$("#searchInput").keypress(function(e){ 
    if(e.which == 13){ 
     e.preventDefault(); 
     $("#search").click(); 
    }; 
}); 

試試這個小提琴:https://jsfiddle.net/chestercharles/ypxm0ukL/12/

+0

我試過了,它不起作用 – Danny

+1

@Danny,這很奇怪。小提琴對我來說工作得很好。 – chester

+1

這是奇怪的..我可以發誓它沒有工作昨天進入..我的錯誤切斯特 – Danny