Javascript计算未返回到文本框

Javascript计算未返回到文本框,javascript,Javascript,我正在做一个简单的表格,用户输入长度、宽度、高度和件数,然后计算立方英尺,答案显示在表格中。所以我试着在这里这样做,但我不知道为什么没有显示答案。身份证都是正确的。我尝试过使用ParseFloat并在计算中的每个变量周围加上括号,但这似乎没有任何作用。有什么问题吗 谢谢你看 <HTML> <HEAD> <TITLE>Cubic Feet</TITLE> <SCRIPT LANGUAGE="JavaScript"> function

我正在做一个简单的表格,用户输入长度、宽度、高度和件数,然后计算立方英尺,答案显示在表格中。所以我试着在这里这样做,但我不知道为什么没有显示答案。身份证都是正确的。我尝试过使用ParseFloat并在计算中的每个变量周围加上括号,但这似乎没有任何作用。有什么问题吗

谢谢你看

<HTML>
<HEAD>
<TITLE>Cubic Feet</TITLE>
<SCRIPT LANGUAGE="JavaScript">


function Calculate()
{
var qty1 = document.getElementById('q1').value;
var len1 = document.getElementById('l1').value;
var width1 = document.getElementById('w1').value;
var height1 = doument.getElementById('h1').value;
var cube1 = qty1*(len1*width1*height1);

form.cuft1.value = cube1.tofixed(2);

}

function ClearForm(form)
{
form.q1.value = "";
form.l1.value = "";
form.w1.value = "";
form.h1.value = "";
form.cuft1.value = "";
}

// end of JavaScript functions -->
</SCRIPT>
</HEAD>

<BODY>

<FORM NAME="Calculator" METHOD="post">


<P><INPUT TYPE="button" VALUE="Calculate" name="AddButton" onClick="Calculate(this.form.q1.value, this.form.h1.value, this.form.w1.value, this.form.l1.value, this.form)">
<INPUT TYPE="button" VALUE="Clear" name="ClearButton" onClick="ClearForm(this.form)">

<p>
<table>
<tr>
<td> Container 1 Qty <input type="TEXT" id="q1" value=""></td>
<td> Length <input type="TEXT" id="l1" value=""></td>
<td> Width <input type="TEXT" id="w1" value=""></td>
<td> Height <input type="TEXT" id="h1" value=""></td>
<td> Cu.Ft. <input type="TEXT" id="cuft1" value=""></td>
</tr>
</table>
</FORM>
</BODY>
</HTML>

立方英尺
函数计算()
{
var qty1=document.getElementById('q1')。值;
var len1=document.getElementById('l1')。值;
var width1=document.getElementById('w1')。值;
var height1=doument.getElementById('h1')。值;
变量立方=qty1*(透镜1*宽度1*高度1);
form.cuft1.value=cube1.tofixed(2);
}
函数ClearForm(表单)
{
form.q1.value=“”;
form.l1.value=“”;
form.w1.value=“”;
form.h1.value=“”;
form.cuft1.value=“”;
}
//JavaScript函数结束-->

集装箱1数量 长度 宽度 高度 立方英尺。

试试看

查找具有名称的输入

改用这个:

document.getElementById('q1').value

你在其他方面也有同样的错误。最好始终使用id。

您有一系列愚蠢的错误:

  • documentgetElementById('w1')。值
    应该是
    document.getElementById('w1').value

  • doument.getElementById('h1').value
    应该是
    document.getElementById('h1').value

  • 未定义表单。请尝试
    var form=document.forms[0]

  • cube1.tofixed(2)应为
    cube1.toFixed(2)

  • 所有这些错误都可以通过打开浏览器的开发人员控制台轻松捕获


    修复了此处的工作版本:

    语言属性已过时。请改用
    type=“text/javascript”
    。@事实上,最好既不使用语言也不使用类型。该类型始终默认为“text/javascript”。它已经在HTML5中正式发布,但之前它在所有浏览器中都能正常工作。根据什么?我相信只有在HTML5中才是这样。@dystroy没有说省略
    type
    。但是,它确实说,
    语言
    已经过时了。@crush+1,因为还没有人愿意投票选出最完整(和经过测试)的答案。谢谢。感谢您在宣传DOM级别0方法方面所做的努力。这就是当我不停地喝咖啡并使用记事本尝试编写javascript时所发生的事情。我将CodePen添加到书签中,因为它与HTML、JS和CSS的窗口非常配合+1也是。多谢各位dystroy@Shawn到处都是。不要使用表单查找您的输入,只需使用它们的id即可。
    this.form.q1.value
    
    document.getElementById('q1').value