为什么以后将字符串变量作为[object HTMLInputElement]返回?

时间:2019-05-20 18:50:50

标签: javascript variables dynamically-generated

我将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));
    }
  }
}

但是将变量加载到选择中时,它们显示为[object HTMLInputElement],我不确定这是怎么发生的。

任何输入将不胜感激。谢谢您的时间!

0 个答案:

没有答案