Javascript 按Enter键进行搜索
我想,当按下回车按钮时,应用程序将搜索一个城市,现在的操作是通过按下搜索按钮开始的。下面是我的代码:Javascript 按Enter键进行搜索,javascript,Javascript,我想,当按下回车按钮时,应用程序将搜索一个城市,现在的操作是通过按下搜索按钮开始的。下面是我的代码: const ENTER_KEY_CODE = 13; document.querySelector('#city').addEventListener('keyup', function(e) { if (e.keyCode === ENTER_KEY_CODE) { var city = $(this).val(); if (city !== '') {
const ENTER_KEY_CODE = 13;
document.querySelector('#city').addEventListener('keyup', function(e) {
if (e.keyCode === ENTER_KEY_CODE) {
var city = $(this).val();
if (city !== '') {
$.ajax({
url: 'http://api.openweathermap.org/data/2.5/weather?q=' + city + "&units=metric" +
"&APPID=bb037310921af67f24ba53f2bad48b1d",
type: "GET",
dataType: "json",
success: function (data) {
var widget = show(data);
$("#show").html(widget);
$("#city").val(' ');
}
});
} else {
$("error").html('Field cant be empty')
}
};
});
这是一个示例代码,请使用这是一个参考代码 HTML代码
<input id="InputEnter" >
var input = document.getElementById("InputEnter");
input.addEventListener("keyup", function(event) {
event.preventDefault();
if (event.keyCode === 13) {
$(document).ready(function () {
$('#submitWeather').click(function () {
var city = $("#city").val();
if (city !== '') {
$.ajax({
url: 'http://api.openweathermap.org/data/2.5/weather?q=' + city + "&units=metric" +
"&APPID=bb037310921af67f24ba53f2bad48b1d",
type: "GET",
dataType: "json",
success: function (data) {
var widget = show(data);
$("#show").html(widget);
$("#city").val(' ');
}
}
});
这应该行得通。我假设您的ajax请求是正确的
document.querySelector('#submitWeather').addEventListener('keypress', function(e){
if(e.which === 13){
// your ajax request
}
})
您只需将
keyup
事件侦听器添加到input
元素。调用处理程序时,只需检查e.keyCode
,查看是否按了enter键。如果是,做你自己的事:
const ENTER\u KEY\u code=13;
document.querySelector(“#textEl”).addEventListener('keyup',函数(e){
如果(e.keyCode===输入\u键\u码){
var city=$(this.val();
变量url=`http://api.openweathermap.org/data/2.5/weather?q=${encodeURIComponent(city)}&units=metric&APPID=bb037310921af67f24ba53f2bad48b1d`;
如果(城市!=''){
log(`makeajax调用${url}`);
//在这里打电话
}否则{
console.log('City不能为空!');
}
}
});代码>
使用表单的submit
事件,而不是文本输入上的按键事件或按钮上的单击事件。+1用于切换到表单内部的
,然后使用jQuery的submit()
作为表单提交处理程序。更好的可访问性,您也将获得onkeypress事件。我如何在我的JS中添加此代码的可能重复?我需要更改什么?尝试编辑的代码后,我们将进一步讨论$(document).ready(函数(){$('submitWeather').addEventListener('keyup',函数(e){if(e.keyCode==13){var city=$(“#city”).val();if(city!=''{.ajax({我可以添加此代码,但它不起作用。怎么了?我更新了代码。我认为这应该可以帮助您解决问题。请告诉我。我有一个错误“Uncaught TypeError:无法读取属性'addEventListener'”。您也可以发布HTML吗?