当用户在html输入框中输入(使用键盘)时,我正试图在我的网站上调用Ajax搜索功能。为了防止在按Enter后页面加载我在ajax调用中使用e.preventDefault();
但是我无法输入输入框。它工作正常但无法输入输入框。你能告诉我我做错了什么吗?
$(document).keypress(function(e) {
e.preventDefault();
var value = $('#txt_name').val();
if(e.which == 13) {
$.ajax({
type:"POST",
url:"doSearchEnter.php",
data:{
'key' : value
},
success:function(res){
$('#showSearchResult').html(res);
}
});
}
});
答案 0 :(得分:0)
将e.preventDefault();
移到条件中,如:
$(document).keypress(function(e) {
var value = $('#txt_name').val();
if(e.which == 13) {
e.preventDefault();
$.ajax({
type:"post",
url:"doSearchEnter.php",
data:{
'key' : value
},
success:function(res){
$('#showSearchResult').html(res);
}
});
}
});
答案 1 :(得分:0)
您无法输入input
,因为您取消了所有击键的默认行为!
您应该只为enter
键阻止它:
$(document).keypress(function(e) {
var value = $('#txt_name').val();
if(e.which == 13) {
e.preventDefault(); // Moved this into here.
$.ajax({ ...
}
});