2011-07-21 165 views
0

我有一個簡單的搜索功能,我希望在輸入鍵按下時觸發,儘管函數執行但窗體也發佈了。輸入按鍵上的觸發功能

<script> 
function search() 
{ 
... 
} 

$(document).ready(function() { 
    $("#text").keypress(function (e) { 
if (e.which==13) 
    search(); 
}); 
}); 

<body> 
<form id="searchForm" name="searchForm"> 
<input size="40" id="text" type="text" name="text" class="input" /> 
</form> 
</body> 
+0

究竟是什麼你想在這裏實現什麼?可能有更好的方法來做到這一點。你想在searchForm表單提交時執行'search()'函數嗎? – Shef

+0

我想執行搜索,當有人按#輸入鍵#文字 – Sourav

+0

我給你一個答案,用適當的方式來解決這個問題。 – Shef

回答

1

綁定功能提交事件並阻止默認:

$('form').submit(function(ev){ 
    ev.preventDefault(); 
    /* your code here */ 
}); 
0

你可以試着從你的函數返回false,這將停止處理仍在進行中。

+0

我試過'return'仍然不能阻止它 – Sourav

+0

adams評論下面是下一步 - preventDefault。 –

1
<script> 
function search() 
{ 
... 
} 

$(document).ready(function() { 
    $("#text").keypress(function (e) { 
if (e.which==13) 

    search(); 
    return false; 
}); 
}); 
</script> 

使用return false,它可以防止默認操作

1

沒有必要聽一個輸入按鍵事件。您應該聽取submit事件,該事件在按下該鍵時也會觸發。

這是正確的方式做到這一點:

$(document).ready(function() { 
    $("#searchForm").submit(function (e) { 
     e.preventDefault(); 
     search(); 
    }); 
});