У меня странная проблема.У меня есть функция, которая работает для 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">×</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> Close</button>
<button type="button" class="btn btn-primary" id="search-submit-btn"><i class="fas fa-search"></i> Search</button>
</form>
</div>
</div>
</div>
Я что-то упустил?
---------------- РЕШЕНИЕ -----------------
HTML-разметка имеет тег <form>
.Я полностью пропустил это.Поэтому я удалил теги форм, и все в порядке.