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

1
<!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-страницу для чтения строки и отображения первого символа этой строки, но ее не работает.

Любые идеи, почему это не работает?

  • 1
    text является элементом dom, а не значением этого элемента
Теги:
charat

2 ответа

4
Лучший ответ

Потому что метод 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>
  • 0
    спасибо чувак, проблема решена
1

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

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню