Javascript 触发按钮单击文本框中的Enter键将丢失其值
我有 Html: inputbox当我按enter键时,该值为零,但如果我单击按钮,它将与相同的输入值完美配合Javascript 触发按钮单击文本框中的Enter键将丢失其值,javascript,jquery,Javascript,Jquery,我有 Html: inputbox当我按enter键时,该值为零,但如果我单击按钮,它将与相同的输入值完美配合 可能会使输入框成为全球的 问题是enter键默认为提交表单,即使没有提交按钮。因此,您应该通过将事件绑定更改为keypress并使用event.preventDefault()来阻止提交,如下所示: $("#inputbox").keypress(function(event){ if(event.keyCode == 13){ event.preventDef
可能会使输入框成为全球的 问题是enter键默认为提交表单,即使没有提交按钮。因此,您应该通过将事件绑定更改为
keypress
并使用event.preventDefault()
来阻止提交,如下所示:
$("#inputbox").keypress(function(event){
if(event.keyCode == 13){
event.preventDefault();
$("#search").click();
}
});
或者,您可以使用.submit()
触发函数,将输入类型更改为submit,并避免单独处理键和单击
HTML:
您是否尝试了
event.which
而不是event.keyCode
?您是否阻止表单提交!尝试$(#搜索”)。触发(“单击”)
@adeneo-没关系,jQuery内置了这个功能。美元(“#contactForm”).submit()怎么样@钛-不,是jQuery,但不是keyCode。
$(document).ready(function() {
$("#inputbox").keyup(function(event){
if(event.keyCode == 13){
$("#search").click();
}
});
$('#search').click(function(){
var inputbox= $("#inputbox").val();
//stuff
});
});
$("#inputbox").keypress(function(event){
if(event.keyCode == 13){
event.preventDefault();
$("#search").click();
}
});
<form action="" method="post" id="contactForm">
<input id='inputbox' name="inputbox" type="text" />
<input type="submit" value="Search">
</form>
$(document).ready(function() {
$("#contactForm").submit(submitSearch);
});
function submitSearch(event) {
event.preventDefault();
//do other stuff
alert($("#inputbox").val());
}