gpt4 book ai didi

javascript - 触发按钮单击文本框中的 Enter 键丢失其值

转载 作者:搜寻专家 更新时间:2023-11-01 05:06:02 26 4
gpt4 key购买 nike

我有

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
});
});

输入框 当我按下 enter 时,值什么都没有,但是如果我点击按钮,它可以完美地使用相同的输入值

也许使 inputbox 全局化?

最佳答案

问题是回车键默认为提交您的表单,即使没有提交按钮也是如此。因此,您应该通过将事件绑定(bind)更改为 keypress 并使用 event.preventDefault() 来阻止提交,如下所示:

$("#inputbox").keypress(function(event){
if(event.keyCode == 13){
event.preventDefault();
$("#search").click();
}
});

或者,您可以使用 .submit() 来触发您的函数,更改要提交的输入类型,并避免单独处理按键和点击。

HTML:

<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());
}

关于javascript - 触发按钮单击文本框中的 Enter 键丢失其值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15710000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com