学生平均值 - JavaScript中没有回复

Sri*_*ddy 1 javascript error-handling

此代码假设接受来自用户的4个主题标记并计算总计和平均值.它应该显示在文本框中.

当我点击Calculate(按钮)时,它应该生成一个警告对话框和一些计算,但事实并非如此.它的错误是什么?怎么了?我只是无法弄清楚这个代码中有什么问题..对我来说一切都很好!!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content="HTML Tidy for Linux (vers 25 March 2009), see www.w3.org" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ass_3 q_6</title>

<script type="text/javascript" language="javascript">
        function average()
        {
            alert("Hay");
            var s1=document.getElementById("math").value;
            var s2=document.getElementById("phy").value; 
            var s3=document.getElementById("che").value; 
            var s4=document.getElementById("bio").value; 
            var total=document.getElementById("tot"); 
            var ave=document.getElementById("avg");

            tot.value= (s1+s2+s3+s4);
            avg.value=(tot.value)/4;

        }

</script>

</head>
<body>
<h2 class="c1">Student Marks Average</h2>
<form name="myMarks" method="post" action="" id="myMarks">
<table align="middle" border="1">
<tr><td>Subjects</td><td>Marks Out of 100</td></tr>
<tr>
<td width="90px">Maths:</td>
<td><input type="text" id="math" name="maths" size="14" /></td>
</tr>
<tr>
<td>Physics:</td>
<td><input type="text" id="phy" name="physics" size="14" /></td>
</tr>
<tr>
<td>Chemistry:</td>
<td><input type="text" id="che" name="chemistry" size="14" /></td>
</tr>
<tr>
<td>Biology:</td>
<td><input type="text" id="bio" name="biology" size="14" /></td>
</tr>
<tr>
<td colspan="2" align="middle"><input type="button" value="Calculate" onclick="average()" /></td>
</tr>
<tr class="c2">
<td>Total:</td>
<td><input type="text" id="tot" name="total" size="14" /></td>
</tr>
<tr class="c3">
<td>Average:</td>
<td><input type="text" id="avg" name="average" size="14" /></td>
</tr>
</table>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

小智 6

首先,我强烈建议使用一些东西来调试.我非常喜欢谷歌浏览器中的Javascript控制台.出现的错误是您的"平均"类型不是函数.

从那里,你可以看到,你可能有不止一件事被定义为"平均".实际上,您的输入类型也被命名为"average".

只需更改功能名称或输入类型名称即可完美运行!

例如,我改为

onclick="average_calc()"
Run Code Online (Sandbox Code Playgroud)

和功能

function average_calc()
Run Code Online (Sandbox Code Playgroud)

......它运作良好.

("精细"只意味着你在文本框中得到了值...你还没有添加它们,你正在连接它们,而你直接选择"tot"...所以仍然有一些问题,但是这应该让你走在路上)