我无法获得功能AreaT()来验证并验证输入框中输入的值作为三角形区域的答案。 我一直在"错误"即使是正确答案的消息。 我究竟做错了什么? 感谢您抽出宝贵时间检查我的代码。
<html>
<head>
<script>
var height = Math.floor(Math.random()*20 +1);
var base = Math.floor(Math.random()*30 +2);
var area = getElementById("area");
function AreaT(){
document.getElementById('height').value = height;
document.getElementById('base').value = base;
if(area== 1/2 * base * height){
document.write("correct")
}
else{
document.write("wrong");
}
}
</script>
</head>
<body>
<form>
<h2>HEIGHT:</h2><input type="button" size="20" id="height"/>
<h2>BASE: </h2><input type="button" size="20" id="base"/>
<h2>AREA: </h2>Enter The Area here:<input type="text" size="20" id="area"/>
<input type="button" size="20" value = "Calculate" onClick ="AreaT()"/>
</form>
</body>
</html>
答案 0 :(得分:2)
试试这个:
HTML
<body>
<h2>HEIGHT:</h2><input type="button" size="20" id="height"/>
<h2>BASE: </h2><input type="button" size="20" id="base"/>
<h2>AREA: </h2>Enter The Area here:<input type="number" size="20" id="area"/>
<input type="button" size="20" value = "Calculate" onClick ="AreaT()"/>
</body>
Javascript(放入<header>
标签)
var height = Math.floor(Math.random()*20 +1);
var base = Math.floor(Math.random()*30 +2);
document.getElementById('height').value = height;
document.getElementById('base').value = base;
function AreaT(){
var area = document.getElementById("area").value;
if(area == 1/2 * base * height){
document.write("correct")
}
else{
document.write("wrong");
}
}
添加已经提到的内容,您还需要向area元素添加.value
。我还将AREA的输入类型更改为number
。
答案 1 :(得分:1)
将getElementById("area")
更改为document.getElementById("area").value
。您还需要从area
函数中分配AreaT()
,否则它将无法获得用户输入的值。
此外,您的javascript需要低于这些表单元素,否则它无法“看到”它们,您将获得未定义的值。