Делаю словарь с помощью Yandex translate API. Сделал так, чтобы после перевода слова, строка ввода очищалась, но сам запрос при этом не очищается. То есть, если не перезагружая страницу менять языки перевода и наживать на "перевести", то будет переводиться изначально введенное слово. Как сделать так, чтобы после нажатия на "перевод" запрос обнулялся и требовалось бы ввести новое слово?
var url = 'https://translate.yandex.net/api/v1.5/tr.json/translate';
var API_KEY = тут мой ключ;
document.querySelector('#translate_btn').addEventListener('click', function(){
var req = new XMLHttpRequest();
var word = document.getElementById("translate_form"); //поле ввода слова
var langTranslate = document.querySelector('.lang_list');//выбор языка перевода
var translate = document.querySelector('.translate');//блок, куда вставляется перевод
url += '?key=' + API_KEY;
url += '&text=' + word.value;
url += '&lang=' + langTranslate.value;
word.value = "";
req.open('get', url, true);
req.send();
req.addEventListener('load', function () {
console.log(req.response);
var response = JSON.parse(req.response);
if (response.code !== 200) {
translate.innerHTML = 'Произошла ошибка при получении ответа от сервера:\n\n' + response.message;
return;
}
if (response.text.length === 0) {
translate.innerHTML = 'К сожалению, перевод для данного слова не найден';
return;
}
translate.innerHTML = response.text.join('<br>');
});
});
В примере на скриншоте изначально было введено слово "кот".