Эта строка:
var inputValue = getInputValue();
Назначает ли функция getInputValue();
возврат к переменной inputValue
Эта функция возвращает undefined
, что в принципе ничего, потому что есть внутри него нет оператора return
, поэтому вторая строка выглядит следующим образом:
var inputValueLetters = undefined.split();
Ошибка, которую вы получаете Cannot read property 'split' of undefined"
достаточно ясна undefined
равна nothing
, а nothing
имеет nothing
так как вы можете ожидать, что nothing
будет иметь split()
.
Что вам нужно, это только когда нажата кнопка, получить значение ввода, затем вызвать split()
для этого значения.
Также, если вы хотите разбить текст на массив букв, вам нужно указать функции разбиения, по какой символ он хочет, чтобы она разбивала space
или forward slash (/)
et c ..
В нашем случае это ничего, поэтому мы пропускаем пустую строку ""
function getInputValue() {
// Selecting the input element and get its value
var inputValue = document.querySelector("#myInput").value;
var inputValueLetters = inputValue.split("");
// Displaying the value
console.log(inputValueLetters);
};
<h1>Morsi: Translate Plain Text Into Morse Code</h1>
<input type="text" placeholder="Type something..." id="myInput" value="text">
<button type="button" onclick="getInputValue();">Get Value</button>