Надеюсь, что я не задаю вопрос, на который был дан ответ раньше - я не смог найти что-либо по этому вопросу.
Мне было поручено создать игру "Hangman" через Javascript. Мой профессор дал нам HTML-разметку игры, а также разработал ее с помощью CSS. Я должен написать Javascript, чтобы заставить игру работать. Код содержится во внешнем файле.
HTML имеет форму, которая принимает начальное слово для палача:
<div id="enterWordContainer" align="center">
Enter a six letter word for hangman: <input id="hangManWord" type="text" value="" />
<input type="button" value="Submit" onclick="saveWord();"/> </div>
Как начать манипулировать текстом, который я бы ввел в свой HTML-документ?
Я попытался создать переменную, которая будет содержать текст:
var userGuess = document.getElementById("hangManWord").value;
Разве это не должно вводить форму в переменную Javascript?
При выполнении сразу после (или) при загрузке страницы, назначение userGuess = document.getElementById("hangManWord").value
устанавливает переменную userGuess
в пустую строку, потому что то будет то, что value
свойства установлено значение, из - за атрибута HTML value=""
.
Когда элемент управления input
используется пользователем для изменения значения, это не изменит значение значения userGuess
.
В функции saveWord
вы можете использовать значение document.getElementById("hangManWord").value
для получения текущего значения элемента управления. Однако вы не можете получить значение до ввода значения. Вы можете, если хотите, использовать, например, var userGuess = document.getElementById("hangManWord")
, создавая ссылку на input
элемент (ссылку на весь объект узла элемента, вместо того, чтобы просто получать текущее значение одного его свойства) а затем использовать userGuess.value
позже.
Да, это приведет к вводу формы в переменную userGuess. НО вы должны вставить свой код в обработчик событий формы, и это функция "saveWord();" что я считаю, что вы должны реализовать. В конечном итоге это приведет к получению вашего входного значения только тогда, когда оно было отправлено.