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;