2013-09-22 64 views
0

我希望我没有问过已经回答过的问题 - 我无法找到任何关于此主题的具体内容。Javascript如何通过document.getElementById与HTML交互?

我的任务是通过Javascript创建“Hang子手”游戏。我的教授给了我们一个关于游戏的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变量?

+0

是的,它应该,你有哪些代码?注意:它不会连续执行,即当用户更改输入时,该变量将不会更新为该变量,您将需要设置一个'onchange'事件或执行该代码,如'saveWord()'函数如果它不是已经 –

+0

我已经尝试在我的外部Javascript文件的开始处“获取”Id。我声明变量(userGuess)并尝试将元素(hangManWord)的值放入新变量中。所以现在,变量应该包含输入到表单框中并提交的内容。我试着在变量声明之后立即创建一个循环语句。就像“如果userGuess.length == 6,然后警报”。 – user2803472

回答

2

当右后(或)页面加载,userGuess = document.getElementById("hangManWord").value设置变量userGuess为空字符串赋值执行,因为这是该value属性设置为,由于HTML属性value=""

当用户使用input控件更改该值时,这不会更改userGuess值的值。可以使用document.getElementById("hangManWord").value来获取控件的当前值。尽管如此,不能在之前获取值。如果你愿意,你可以使用例如var userGuess = document.getElementById("hangManWord"),创建对input元素的引用(对整个元素节点对象的引用,而不是仅获取其中一个属性的当前值),然后使用userGuess.value

+0

点击发生的这个“saveWord()” - 我在其他任何地方都找不到它。这是一个函数,我需要在Javascript中声明?声明它做一个变量并为它指定hangManWord元素单击后的值?一旦存储了该值,我是否应该能够对该变量中的存储值进行逻辑陈述? – user2803472

+0

是的,您必须编写它,作为“编写Javascript以使游戏工作”的任务的一部分。尝试此操作之前,您可能需要阅读JavaScript教程。 –

+0

没关系。我一直在做这些教程,但是当继承预先制作的HTML时,情况会非常不同。不得不解决所提供的标记对我来说是新的。 – user2803472

0

是的,它会将表单的输入放入userGuess变量中。但是你必须将你的代码插入表单提交事件处理程序,这是函数“saveWord();”我相信你必须执行。 它最终会做什么只有在提交时才会获得输入值。