Моя функция работает для события click, но keyup (JQuery) - PullRequest
0 голосов
/ 25 мая 2019

У меня странная проблема.У меня есть функция, которая работает для 2 разных div.Когда я нажимаю кнопку, которая срабатывает, все в порядке.Но та же функция не работает для события keyup другого div.

function search(){
    $("#search-input").css("border","1px solid #ced4da");
    if(!$("#search-input").val() || $("#search-input").val().length<=2){
        $("#search-input").css("border","1px solid red");
    }else{
        var key = encodeURIComponent($("#search-input").val());            
        window.location = 'keywords/'+encodeURIComponent(key);
    } 
}

$("#search-submit-btn").on("click",function(){
    search();      
});

$("#search-input").on("keyup",function(e){
    if (e.keyCode==13){
      search();  
    }
});

событие click работает отлично.Результат события щелчка: страница перенаправляется на

localhost/search-engine/keywords/whatever-users-search

Но результат события нажатия клавиш: страница перенаправляется на

localhost/search-engine/?

HTML-разметка

<div class="modal fade" id="search-modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
  <div class="modal-content">
    <div class="modal-header">
      <h5 class="modal-title" id="exampleModalLabel"><i class="fas fa-search"></i> Search</h5>
      <button type="button" class="close" data-dismiss="modal" aria-label="Close">
        <span aria-hidden="true">&times;</span>
      </button>
    </div>
    <form>
      <div class="modal-body">
        <input class="form-control form-control-lg my-4" id="search-input" type="text" placeholder="At least 3 char.">         
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal"><i class="fas fa-times"></i>&nbsp;Close</button>
        <button type="button" class="btn btn-primary" id="search-submit-btn"><i class="fas fa-search"></i>&nbsp;Search</button>
      </form>
    </div>
  </div>
</div>

Я что-то упустил?

---------------- РЕШЕНИЕ -----------------

HTML-разметка имеет тег <form>.Я полностью пропустил это.Поэтому я удалил теги форм, и все в порядке.

...