У меня есть окно поиска на моем сайте, которое можно использовать, нажав кнопку поиска или нажав клавишу ввода, когда поле поиска находится в фокусе. Проблема, с которой я сталкиваюсь , возникает только в Internet Explorer (которую я, к сожалению, должен поддерживать).
При нажатии на кнопку, чтобы выполнить поиск, все работает как запланировано. Однако при нажатии Enter я получаю странное поведение. При отладке javascript, я вижу, что поисковый запрос пуст. Вот весь javascript, который я использую, нажав кнопку и нажав ввод, оба используют одну и ту же функцию поиска.
$(document).ready(function () {
var input = document.getElementById("txtSearch");
if (input) {
input.addEventListener("keyup", function (event) {
//if the user hits enter
if (event.keyCode == 70) {
event.preventDefault();
search();
}
});
}
})
function search() {
var searchstring = $('#txtSearch').dxTextBox('instance').option('value');
//only search if there is a value in the text box
if (searchstring != "") {
var url = window.location.origin + "/Search" + "?searchquery=" + encodeURIComponent(searchstring);
window.location.href = url;
}
}
Первая строка в функции поиска - это проблема. После нажатия Enter функция запускается, и строка поиска устанавливается в пустую строку, а не в текстовое поле.