Вы сами присвоили
let city = 'Moscow';
А тут
if(cityName.value == city) {
insert.innerHTML = DATA.main.temp - 273;
} else {
insert.innerHTML = 'такого города нет';
}
Вы удивляетесь почему Барнаул не Москва.
Вообще, посмотрите ошибку от апи на запрос с несуществующим городом и проверяйте на эту ошибку, а не city (точнее сказать не могу - нет apiKey)
Но и после этого он у вас не будет работать - вы выстроили не правильную логику запроса.
Как вариант, можно так:
const form = document.forms[0];
const insert = document.querySelector('.total');
let btn = document.querySelector('.btn');
let cityName = document.querySelector('.inp');
form.onsubmit = function(e) {
e.preventDefault();
const url = 'http://api.openweathermap.org/data/2.5/weather?q='+ cityName.value+'&appid='+APIKey;
fetch(url).then(response=>{
let DATA = response.json();
if('main' in DATA && 'temp' in DATA.main){
insert.innerHTML = DATA.main.temp - 273;
} else {
insert.innerHTML = 'такого города нет';
}
}
}
const APIKey = '**********************';