charAt() не работает в JavaScript

<!DOCTYPE html>
<html>

<head>
<script>
  document.write("some text");
  function change()
  {
    alert("function loaded");
    var text=[];
    text=document.getElementById("inname");
    document.getElementById("demo").innerHTML = text.charAt(0);
  }
</script>
</head>

<body>
<input type="text" id="inname">
<button onclick="change()"> convert </button>
<p id="demo"> </p>
</body>

</html>

Я создал простую HTML-страницу для чтения строки и отображения первого символа этой строки, но она не работает.

Есть идеи, почему это не работает?

2 ответа

Решение

Потому что метод charAt() возвращает указанный символ из строки. Так text должен быть string не объект DOM. Для получения значения ввода используйте text.value

function change() {
  var text = document.getElementById("inname");
  document.getElementById("demo").innerHTML = text.value.charAt(0);
}
<input type="text" id="inname">
<button onclick="change()"> convert </button>
<p id="demo"></p>

Вы присвоили сам объект DOM переменной text, а не текстовое значение ввода.

Вам нужно использовать .value свойство этого объекта DOM, чтобы получить текстовое значение.

т.е. text = document.getElementById("inname").value;

Другие вопросы по тегам