Как использовать флажок, чтобы добавить строку в массив? - PullRequest
1 голос
/ 27 апреля 2020

У меня есть 3 флажка, созданных в файле html рядом с вводом текста. Я пытаюсь получить входные значения, добавленные в пустой массив, если флажок ввода установлен. как мне это сделать? спасибо

question = document.getElementById("question").value;
result1 = document.getElementById("result1").value;
result2 = document.getElementById("result2").value;
result3 = document.getElementById("result3").value;
correctRes1 = document.getElementById("check1");
correctRes2 = document.getElementById("check2");
correctRes3 = document.getElementById("check3");
correct = [];

function check() {
if (correctRes1.checked == true) {
  correct.push(result1);
}
if (correctRes2.checked == true) {
  correct.push(result1);
}
if (correctRes3.checked == true) {
  correct.push(result3);
}
}

raw = JSON.stringify({
question: question,
answer: [result1, result2, result3],
correctAns: correct,
});
console.log(raw)

код выше не работает. не добавляется при вызове функции.

Ответы [ 2 ]

2 голосов
/ 27 апреля 2020

question = document.getElementById("question").value;
result1 = document.getElementById("result1").value;
result2 = document.getElementById("result2").value;
result3 = document.getElementById("result3").value;
correctRes1 = document.getElementById("check1");
correctRes2 = document.getElementById("check2");
correctRes3 = document.getElementById("check3");
correct = [];

document.getElementById('do-check-btn').addEventListener('click',doCheck);

function check() {
if (correctRes1.checked == true) {
  correct.push(result1);
}
if (correctRes2.checked == true) {
  correct.push(result1);
}
if (correctRes3.checked == true) {
  correct.push(result3);
}
}


function doCheck(){
  check();
  raw = JSON.stringify({
  question: question,
  answer: [result1, result2, result3],
  correctAns: correct,
  });
  document.getElementById("pre-out").innerHTML = raw;

}







Я добавил ваш код в событие кнопки. Посмотрите, сможете ли вы заставить это работать с тем, что вы хотите.

0 голосов
/ 27 апреля 2020

Это почти правильно. Единственная проблема заключается в том, что код загружается только один раз при загрузке страницы.

Вам необходимо добавить прослушиватели событий , чтобы запускать код каждый раз, когда происходят изменения с вашими флажками ввода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...