我知道这是一个非常基本的问题,但我对(非HTML)编程很新,在使用CodeAcademy上的大部分JS轨道之后,我仍然在努力做出我学到的任何东西实际上工作。
所以我决定自己设计一个简单的基于JavaScript的命令行。当然,我写的第一个实际代码拒绝工作,尽管不断摆弄。
这是HTML(嗯,相关位):
<input type="text" id="commandfield"></input>
<button type="button" onclick="enterCommand()">Enter</button>
这是Javascript:
var field = document.getElementById("commandfield");
function enterCommand () {
var input = field.value;
alert(input);
}
......没有警报显示。我测试了一个普通的字符串警报,它工作正常,所以我知道问题在于#commandfield的价值。我做错了什么?
答案 0 :(得分:4)
选择函数内的元素:
function enterCommand () {
var field = document.getElementById("commandfield");
if (field) {
var input = field.value;
alert(input);
}
}
这将在事件发生时选择给定DOM状态的元素。
答案 1 :(得分:1)
function enterCommand () {
var field = document.getElementById("commandfield");
var input = field.value;
alert(input);
}
试试这个,我认为你把脚本放在head标签中,而不是body标签的底部。
所以无法获得该节点
答案 2 :(得分:0)
我尝试了,这有效:
<script type="text/javascript">
function enterCommand () {
var field = document.getElementById("commandfield");
var input = field.value;
window.alert(input);
}
</script>
<input type="text" name="commandfield" id="commandfield">
<button type="button" onclick="enterCommand()">Enter</button>