Javascript 我希望在按enter键时搜索表单
这是到目前为止我的代码Javascript 我希望在按enter键时搜索表单,javascript,jquery,search,Javascript,Jquery,Search,这是到目前为止我的代码 <script> var $j = jQuery.noConflict(); var searchBarOpen = false; function closeSearch() { if(searchBarOpen) { $j('#navbar-typeahead').hide(); $j('#navbar-removelabel').hide(); $j('.navbar-nav').show();
<script>
var $j = jQuery.noConflict();
var searchBarOpen = false;
function closeSearch() {
if(searchBarOpen) {
$j('#navbar-typeahead').hide();
$j('#navbar-removelabel').hide();
$j('.navbar-nav').show();
searchBarOpen = false;
}
}
function openSearch() {
if(!searchBarOpen) {
$j('.navbar-nav').hide();
$j('#navbar-typeahead').show();
$j('#navbar-removelabel').show();
searchBarOpen = true;
}
}
$j('#navbar-removelabel').click(function(e) {
e.preventDefault();
if(searchBarOpen) {
$j('#navbar-typeahead').val('');
closeSearch();
}
});
$j('#navbar-searchlabel').click(function(e) {
if(!searchBarOpen) {
e.preventDefault();
openSearch();
} else {
if($j('#navbar-typeahead').val() != "") {
// Getting search results
} else {
e.preventDefault();
closeSearch();
}
}
});
</script>
var$j=jQuery.noConflict();
var searchBarOpen=false;
函数closeSearch(){
如果(搜索栏){
$j(“#navbar typeahead”).hide();
$j(“#navbar removelabel”).hide();
$j('.navbar nav').show();
searchBarOpen=false;
}
}
函数openSearch(){
如果(!searchBarOpen){
$j('.navbar nav').hide();
$j(“#navbar typeahead”).show();
$j(“#导航栏移除标签”).show();
searchBarOpen=true;
}
}
$j(“#导航栏移除标签”)。单击(函数(e){
e、 预防默认值();
如果(搜索栏){
$j(“#导航栏输入前方”).val(“”);
closeSearch();
}
});
$j(“#导航栏搜索标签”)。单击(函数(e){
如果(!searchBarOpen){
e、 预防默认值();
openSearch();
}否则{
if($j('#导航栏输入前方').val()!=“”){
//获取搜索结果
}否则{
e、 预防默认值();
closeSearch();
}
}
});
现在,当我按enter键时,无法搜索此表单。。
我尝试使用:
<script>
function enter () {
document.onkeypress = function (enter) {
if (enter.keyCode == 13) {
$('.enter').submit();
}
};
};
</script>
函数输入(){
document.onkeypress=函数(回车){
如果(输入.keyCode==13){
$('.enter').submit();
}
};
};
这是我的HTML
<form role="search" class="navbar-searchform navbar-right" method="get" action="/">
<div class="form-group">
<input type="text" name="s" placeholder="Uw zoektermen..." id="navbar-typeahead" class="form-control enter" data-provide="typeahead"></input>
</div>
<button id="navbar-removelabel" class="btn bnt-default">
<span class="glyphicon glyphicon-remove">
</span>
</button>
<button id="navbar-searchlabel" class="btn bnt-default">
<span class="glyphicon glyphicon-search">
</span>
</button>
</form>
但我无法让它工作。有人能帮我吗?
我不知道我做错了什么。将“输入类型提交”按钮放在“发件人”中,如果您确实不需要,请在屏幕上隐藏该按钮。现在,当您按Enter键时,它将发布您的表单数据
Example:
<input type="submit" style="position: absolute; left: -9999px"/>
示例:
首先:您确定要在用户按Enter键时重新加载整个页面吗
更好的解决方案是将此事件添加到表单中的输入:
$(function(){
$('.enter > input, textarea, select').keyup(function(evt){
if(evt.which == 13) {
$('.enter').submit();
}
});
});
表单是否包含名为
enter
的类?另外,为什么不在这里发布您的HTML页面,以便我们了解您的Javascript代码的功能?是的,它确实包含一个名为enterclass=“navbar searchform navbar right”
-不,它没有。现在它有了<代码>但它不会工作