Почему строковая переменная позже будет возвращена как [объект HTMLInputElement]? - PullRequest
0 голосов
/ 20 мая 2019

Я определяю 2 переменные как пустые строки:

var userName = "";
var initials = "";

Затем пользователь вводит их имя и инициалы в элемент ввода:

function setUserName() {
  var inputUserName = document.getElementById('userName').value.toString();
  var inputInitials = document.getElementById('initials').value.toString();

  console.log(inputInitials, inputUserName);

  userName=inputUserName;
  initials=inputInitials;

  console.log(userName,initials);

  $(".studentName").html(inputUserName + ' ');
  $('.initials').html('<strong>' + inputInitials.toUpperCase() + '</strong>');
};

Консоль регистрирует правильные состояния, иесли я добавлю 'typeof' перед ними, они будут строками.

У меня есть отдельный файл, который используется для генерации элементов выбора с опциями.a: быть выбором ответа, c: быть правильным.Они приходят изнутри объекта

var data =  [{
        s: "2",
        f: "3",
        q: "10",
        b: ["branchA"],
        a: ["TT", initials, "MN"],
        c: initials,
        t: "dropdown"
    },
 ...many more objects...
];


function appendAnswers() {
  loadedSituations.push(situationToLoad);
  for (var i = 0; i <= data.length - 1; i++) {
    if (data[i].b.indexOf(selectedBranch) !== -1 && data[i].s === situationToLoad) {
      var checkBox = '<span class="checkmark"></span><span>' + data[i].l + '</span>';
      var select = '<option value="' + data[i].a[0] + '"> Select Answer </option><option value="' + data[i].a[1] + '">' + data[i].a[0] + '</option><option value="' + data[i].a[2] + '">' + data[i].a[1] + '</option><option>' + data[i].a[2] + '</option>';
      var currentQuestion = data[i].s + data[i].f + data[i].q;
      (data[i].t === 'dropdown' ? $('#s' + currentQuestion).append(select) : $('#s' + currentQuestion).append(checkBox));
    }
  }
}

, но когда переменные загружаются в селекторы, они отображаются как [объект HTMLInputElement], и я не уверен, как это происходит.

Любой вводбудет принята с благодарностью.Спасибо за ваше время!

...