<!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-страницу для чтения строки и отображения первого символа этой строки, но ее не работает.
Любые идеи, почему это не работает?
Потому что метод 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;
text
является элементом dom, а не значением этого элемента