Как проверить, была ли нажата кнопка, присвоить ей значение, а затем использовать innerHTML?

#javascript

#javascript

Вопрос:

по сути, я хочу предоставить пользователю два варианта: да или Нет. Например, если он нажимает кнопку «Да», то эта информация сохраняется, и я могу показать, что он выбрал в конце анкеты.

Я пытаюсь так, но это не работает. В конце на экране ничего не появляется…

ответ2-Кнопка A = Да

ответ2-B = Нет кнопки

—————————-//————————//————————-

 document.getElementById('answer2-A').addEventListener("click", defineYes);
document.getElementById('answer2-B').addEventListener("click", defineNo);
};
function defineYes(){
    document.getElementById('answer2-A').value = 'Yes';
    document.getElementById('info').innerHTML = document.getElementById('answer2-A');
};
function defineNo(){
    document.getElementById('answer2-B').value = 'No';
    document.getElementById('info').innerHTML = document.getElementById('answer2-B');
 

Комментарии:

1. document.getElementById(‘info’).innerHTML = document.getElementById(‘answer2-A’).value;

Ответ №1:

Несколько вопросов для решения — не видя HTML, я предполагаю value , что свойство не установлено для кнопок. Кроме того, вы можете / должны получать ссылки на кнопки и повторно использовать их вместо того, чтобы запрашивать снова и снова. Вы можете использовать target событие, чтобы получить доступ к кнопке, которую вы нажали.

 const yesBtn = document.getElementById('answer2-A')
const noBtn = document.getElementById('answer2-B')
const info = document.getElementById('info');

yesBtn.addEventListener("click", trackClick);
noBtn.addEventListener("click", trackClick);

function trackClick(e) {
  info.innerHTML = e.target.value;
} 
 <button id="answer2-A" value="Yes">Yes</button>
<button id="answer2-B" value="No">No</button>

<div id="info"></div>