Kuba Żukowski
Kuba Żukowski

Reputation: 663

Block submit with ENTER without one form

I have simple enter submit blocker:

$(window).keydown(function(event){
    if(event.keyCode == 13){
        event.preventDefault();
        return false;
    }
});

And this is work. But I have one form (fast search) where I want enter submit, so how can I add "if": if(event.keyCode == 13 && NOT IN $('#search'))

Upvotes: 1

Views: 398

Answers (4)

cocco
cocco

Reputation: 16706

if your search id is "search"

window.onkeydown=function(e){
 if(e.keyCode==13&&e.target.id!='search'){
  e.preventDefault();
 }
}

return false == e.preventDefault;e.stopPropagation.

you don't need return false.

for older browsrs

window.onkeydown=function(e){
 e=e||window.event;
 if((e.keyCode||e.which)==13&&(e.target||e.srcElement).id!='search'){
  return false
 }
}

.. pure js

Upvotes: 0

Raidri
Raidri

Reputation: 17550

You could use something like

$(window).keydown(function(event){
    if(event.keyCode == 13 && event.target.closest('#search').length == 0) {
        event.preventDefault();
        return false;
    }
});

Upvotes: 0

Jason P
Jason P

Reputation: 27012

If your form has the id of search

$(window).keydown(function(event){
    if(event.keyCode == 13 && !$(event.target).closest('#search').length){
        event.preventDefault();
        return false;
    }
});

If your input has the id of search:

$(window).keydown(function(event){
    if(event.keyCode == 13 && !$(event.target).is('#search')){
        event.preventDefault();
        return false;
    }
});

Upvotes: 1

sangram parmar
sangram parmar

Reputation: 8726

Try this:

$(window).keydown(function(event){
if(event.target.closest('#search').length==0){
    if(event.keyCode == 13){
        event.preventDefault();
        return false;
    }
}
});

Upvotes: 0

Related Questions