Не обновляется значение в div. JS
Есть EventListener на "click":
calcButton.addEventListener("click", () => {
message = convertToArray(document.getElementById("message").value);
result.innerText = codeMessage(message, binaryNumbers.first, binaryNumbers.second);
});
При нажатии на кнопку рассчитать берётся значение из input'а, передаётся в функцию codeMessage и результат должен выводиться в результирующий div. При первом рассчёте всё выводится, но если менять входящее значение - результат в блоке не меняется, хотя в консоле я вижу, что новое значение рассчитано. То есть в результате при нажатии на кнопку должно было появиться 00 11 01 00 01 11 00, но значение не поменялось
Функция сodeMessage, если нужна:
function codeMessage(message, firstCoderBinaryNumber, secondCoderBinaryNumber) {
result = "";
message.unshift(0,0);
for (let i = 0; i < message.length; i++) {
let sequence = [ message[i+2], message[i+1], message[i] ]
result += String(calcCoder(sequence, firstCoderBinaryNumber)) + String(calcCoder(sequence, secondCoderBinaryNumber)) + " ";
}
console.log(result);
return result;
}
function calcCoder(numbers, coderBinaryNumber) {
let result = 0;
for (let i = 0; i < coderBinaryNumber.length; i++) {
if (coderBinaryNumber[i] == 1) {
if(numbers[i] === undefined) numbers[i] = 0;
result = result ^ numbers[i];
}
}
return result;
}
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
Вы переписываете значения наружных переменных. Не хватает названий?
function codeMessage(message, firstCoderBinaryNumber, secondCoderBinaryNumber) {
let result = "";
^^^
...
calcButton.addEventListener("click", () => {
let message = convertToArray(document.getElementById("message").value);
^^^
...
