我正在尝试制作一个示例网页,询问用户是否为整数,如果它在1到12之间,它将返回相应的圣诞节(圣诞节的第8天:8位女佣挤奶等)< / p>
我对javascript不是很熟悉,但我不知道有任何其他方法可以让程序在html中运行。遗憾的是,Python不是一个选择。在尝试将用户提供的整数收集为网页随后显示的变量时,我陷入困境。我的代码如下。非常感谢任何帮助或建议。
<!>
<html>
<head>
<title> Merry Christmas! </title>
</head>
<body>
<input type="number" id="inputfield1" name="inputfield1" />
<input type="submit" id="Submit" text="Submit" onclick="compute()" />
<script type = "text/javascript">
function compute(){
var cday = document.getElementByName("inputfield1");
document.write(cday);
}
</script>
</body>
</html>
答案 0 :(得分:1)
document.getElementByName
不存在。您可以使用document.getElementById("inputfield1")
或document.getElementsByName("inputfield1")[0]
然后你将有一个dom元素,而不是输入值,你可以使用元素的value
属性访问该值:
var cday = document.getElementById("inputfield1").value;
答案 1 :(得分:1)
您的网页存在问题,您需要根据其ID获取输入值。
var cday = document.getElementById("inputfield1").value;
更好的解决方案是在输入中添加事件侦听器。 onclick属性目前不是最佳实践,事件监听器是更广泛接受的解决方案。这是一个例子:
<!DOCTYPE html>
<html>
<body>
<input type="number" id="inputInteger" />
<input type="submit" id="btnSubmit" text="Submit" />
<p id="result"></p>
<script type = "text/javascript">
// Event Listener that Runs "Compute()" on a Click
document.getElementById("btnSubmit").addEventListener("click", compute);
// Gets Input Value and Displays it in a <p>
function compute() {
var day = document.getElementById("inputInteger").value;
document.getElementById("result").innerHTML = day;
}
</script>
</body>
</html>
&#13;
答案 2 :(得分:0)
您想使用DOM元素的value
字段:
<html>
<head>
<title> Merry Christmas! </title>
<meta charset="utf-8" /> <!-- you don't have to do that, but it can help when you are to lazy using the `&...;` escapes -->
</head>
<body>
<input type="number" id="inputfield1" id="inputfield1" />
<input type="submit" id="Submit" text="Submit" onclick="compute()" />
<script type="text/javascript">
function compute() {
var cday = document.getElementById("inputfield1").value;
document.write(cday);
}
</script>
</body>
我在这里使用了ID,因为多个元素可以具有相同的名称。如果您想使用name
,请将id="..."
替换为name="..."
(之前为之前),将document.getElementById("...").value
替换为document.getElementsByName("...")[0].value
。