当用户将Enter键按到某个输入框时,我一直在尝试编写一个转到不同页面的函数。这是代码:
<div class="container">
<div class="row">
<form>
<div id="search" onkeypress="enter(event)" >
<div class="input-group col-md-offset-8 col-md-3">
<input type="text" class="form-control">
<div class="input-group-btn">
<a href="mylink.com" tab-index="-1" class="btn btn-default" type="submit"><i class="glyphicon glyphicon-search"></i></a>
</div>
</div>
</div>
</form>
</div>
</div>
<script>
function enter(event){
if (event.keyCode == 13){
document.location.href = "newpage.com";
}
}
</script>
提前致谢!
答案 0 :(得分:0)
发生的事情很简单,你有一个“表单”标签,所以当你点击回车时,“onkeypress”正在触发事件,你创建的函数“enter”正在处理该事件,但是有一个“form”标签它只是提交一份表格。
要避免这种情况,只需删除“表单”标记,或者只需将其替换为以下内容:
<form onsubmit="event.preventDefault();">
此外,如果要重定向到其他页面,则必须添加协议,例如:
document.location.href = "http://newpage.com";
我希望它有所帮助:)