gpt4 book ai didi

javascript - 通过按键事件触发功能时无​​法从 IE 中的文本框获取值

转载 作者:行者123 更新时间:2023-11-30 19:11:28 25 4
gpt4 key购买 nike

我的网站上有一个搜索框,可以通过单击搜索按钮或在搜索框处于焦点状态时按回车键来使用。我遇到的问题只发生在 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;
}
}

搜索功能的第一行是问题。点击回车键后,该函数被触发,搜索字符串被设置为空字符串,而不是文本框中的内容。

最佳答案

您的事件监听器中已经有该事件。我建议您将 event.target.value 传递给您的搜索功能。这使它更具功能性。拥有一个获取自己信息的函数是一种糟糕的模式。

总结:

  1. 从您的事件中获取值(value):event.target.value
  2. 将其作为参数传递给搜索
  3. 在函数中使用参数而不是获取搜索字符串

关于javascript - 通过按键事件触发功能时无​​法从 IE 中的文本框获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58419291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com