我有一个简单的搜索功能,我想在按Enter键时触发,虽然该功能执行但表格也会被发布。
<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 :(得分:1)
将函数绑定到submit事件并阻止默认值:
$('form').submit(function(ev){
ev.preventDefault();
/* your code here */
});
答案 1 :(得分:1)
<script>
function search()
{
...
}
$(document).ready(function() {
$("#text").keypress(function (e) {
if (e.which==13)
search();
return false;
});
});
</script>
使用return false
,它会阻止默认操作
答案 2 :(得分:1)
无需收听 Enter 按键事件。您应该听取submit
事件,当按下该键时也会触发该事件。
这是正确的方法:
$(document).ready(function() {
$("#searchForm").submit(function (e) {
e.preventDefault();
search();
});
});
答案 3 :(得分:0)
您可以尝试从您的函数返回false,这将停止处理继续。
答案 4 :(得分:0)
这是表单的工作方式,您应该使用submit
事件:http://api.jquery.com/submit/
使用preventDefault或只返回false以取消自然提交操作。