触发按钮,在文本框中单击Enter键会丢失其值
Trigger a button click on the Enter key in a text box misses its value
我有
Html:<form action="" method="post" id="contactForm">
<input id='inputbox' name="inputbox" type="text" />
<button type="button" id='search'> search </button>
</form>
JavaScript $(document).ready(function() {
$("#inputbox").keyup(function(event){
if(event.keyCode == 13){
$("#search").click();
}
});
$('#search').click(function(){
var inputbox= $("#inputbox").val();
//stuff
});
});
inputbox值是什么都没有,当我按下回车键,但是如果我点击按钮,它可以完美地使用相同的输入值
也许使inputbox全局?
问题是输入键默认为提交表单,即使没有提交按钮。因此,您应该通过将事件绑定更改为keypress
并使用event.preventDefault()
来阻止提交,如下所示:
$("#inputbox").keypress(function(event){
if(event.keyCode == 13){
event.preventDefault();
$("#search").click();
}
});
或者,您可以使用.submit()
来触发您的函数,将输入类型更改为submit,并避免单独处理键和单击。
<form action="" method="post" id="contactForm">
<input id='inputbox' name="inputbox" type="text" />
<input type="submit" value="Search">
</form>
JavaScript: $(document).ready(function() {
$("#contactForm").submit(submitSearch);
});
function submitSearch(event) {
event.preventDefault();
//do other stuff
alert($("#inputbox").val());
}
相关文章:
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 单击F5时如何停止页面加载
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 单击jquery清除输入值
- 单击按钮以等待单击按钮
- 角度 js - 如何用鼠标单击,然后在 ng-grid 上按 Enter 键
- 在javascript中强制使用enter而不是单击
- 单击或按enter键时触发主干事件
- 单击按钮时提交 OnClick 事件,但在键盘上按 Enter 时不提交
- Javascript引导框,无法获得按钮单击ENTER键
- jQuery单击,选择输入框,然后按enter(rendered html)
- Firefox:如果我选择地址栏并单击enter,页面不会重新加载
- 在jQuery验证中单击next按钮和按enter键之间的区别
- 触发按钮,在文本框中单击Enter键会丢失其值
- 使用JavaScript启用硬键(ENTER)来模拟按钮单击
- on('提交'在单击<按钮>时有效,但在输入字段上按enter键时无效
- 单击浏览器中的刷新按钮与选择链接并按enter键之间的区别是什么
- 当用户按文本框中的 Enter 键时执行按钮单击事件