【问题标题】:Uncaught ReferenceError trapArea/Per is not definedUncaught ReferenceError trapArea/Per 未定义
【发布时间】:2013-11-27 23:14:27
【问题描述】:

我们最近开始在我的 HTML 类中使用 Javascript,我似乎在我的所有程序中都遇到了一个我无法完全找出的问题。我会问老师,但我一直在家里工作,我们正在休息,这会一直在吃我。我已经查看了“功能未定义”问题的其他答案,但他们并没有为我做这件事。那么我一直做错了什么?我愿意打赌我的格式有问题。

<!DOCTYPE html> 
<html> 
<head><title>Area and Perimeter of a trapezoid</title></head>

<center><body> 

<h1>Area and Perimeter of a Trapezoid</h1> 

<p>Enter the first base length:
<input id="b1" type="text"> </br> 

Enter the second base length: 
<input id="b2" type="text"> </br> 

Enter the height of the trapezoid: 
<input id="height" type="text"> </br> 

Enter the length of the sides of the trapezoid: 
<input id="side" type="text"> </br>
</p> 

<button type="button" onclick="trapArea()">Area</button> 
<p id="area"></p>

<button type="button" onclick="trapPer()">Perimeter</button> 
<p id="perimeter"></p>

<script> 

function trapArea()
{
var b1=document.getElementById("b1"); 
var b2=document.getElementById("b2");
var height=document.getElementById("height"); 
var area=(.5*(b1+b2)*height);
document.getElementById("area").innerHTML="The area of this trapezoid is "+area+".</br>". 
}

function trapPer()
{
var b1=document.getElementById("b1"); 
var b2=document.getElementById("b2"); 
var side=document.getElementById("side"); 
var perimeter=(b1+b2+side); 
document.getElementById("perimeter").innerHTML="The perimeter of this trapezoid is         "+perimeter+".</br>".
}

</script>
</center>
</body> 
</html>

【问题讨论】:

  • 在 HTML5 中使用 &lt;center&gt; 是没有意义的,因为它已被删除并且效果为零。

标签: javascript function undefined referenceerror


【解决方案1】:

您正在使用您的 dom 元素(htmlObjects)而不是它们的值(文本,在这种情况下可以解析为数字)。试试这个

function trapArea()
{
var b1=document.getElementById("b1").value; 
var b2=document.getElementById("b2").value;
var height=document.getElementById("height").value; 
console.log(b1,b2,height);
var area=(.5*(b1+b2)*height);
document.getElementById("area").innerHTML="The area of this trapezoid is "+area+".</br>";
}

【讨论】:

    【解决方案2】:

    替换最后的句点

    document.getElementById("area").innerHTML="The area of this trapezoid is "+area+".</br>". 
    

    document.getElementById("perimeter").innerHTML="The perimeter of this trapezoid is         "+perimeter+".</br>".
    

    带分号;

    【讨论】:

      猜你喜欢
      • 2017-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-21
      • 1970-01-01
      • 2016-11-05
      相关资源
      最近更新 更多