使用<;表格>;及<;输入>;元素作为JavaScript代码的输入。这是最好的方法吗?
各位, 显然,我对编码是新手,所以最近完成了几门关于HTML和Javascript的Lynda课程后,我的简单HTML页面遇到了麻烦。基本上,我想用JavaScript做一个基本的计算,让用户使用HTML表单/输入元素输入两个数字,然后在JS上做一个基本的算术计算。由于某种原因,代码不起作用。有人能告诉我正确的方向,为什么JS没有读取这些输入值?getElementById是正确的方法吗 此外,我正在使用console.log来显示结果,因为我还不知道如何将其显示在HTML页面上提交按钮下方的文本中 HTML代码:使用<;表格>;及<;输入>;元素作为JavaScript代码的输入。这是最好的方法吗?,javascript,html,forms,input,Javascript,Html,Forms,Input,各位, 显然,我对编码是新手,所以最近完成了几门关于HTML和Javascript的Lynda课程后,我的简单HTML页面遇到了麻烦。基本上,我想用JavaScript做一个基本的计算,让用户使用HTML表单/输入元素输入两个数字,然后在JS上做一个基本的算术计算。由于某种原因,代码不起作用。有人能告诉我正确的方向,为什么JS没有读取这些输入值?getElementById是正确的方法吗 此外,我正在使用console.log来显示结果,因为我还不知道如何将其显示在HTML页面上提交按钮下方的文
<!DOCTYPE html>
<html>
<head>
<title>Accurate Mass Error Calculator</title>
</head>
<body>
<h1> Accurate Mass Error Calculator </h1>
<p> Please enter the values below for each field:</p>
<form onsubmit="return calculateError()" method="post">
<p> Exact Theoretical Mass: <input id="exactMass" type="number" step="any" name="exactMass"/></p>
<p> Accurate Experimental Mass: <input id="accurateMass" type="number" step="any" name="accurateMass"/></p>
<p> <input id="submitButton" type="submit" name="submit1" value="Calculate" onclick="return calculateError()" /></p>
</form>
<script type="text/javascript" src="ppmError.js"></script>
</body>
</html>
正如Satpal在评论中所说,您确实应该使用以下命令将文本转换为int:
var exactMass = parseInt(document.getElementById("exactMass").value);
var accurateMass = parseInt(document.getElementById("accurateMass").value);
var ppmError=(accurateMass-exactMass)/exactMass*1000000;
对于另一个问题,在html中添加一个空段落,在其中显示结果
您可以执行以下操作,而不是调用console.log
:
document.getElementById('result').innerHTML = ppmError;
正如Satpal在评论中所说,您确实应该使用以下命令将文本转换为int:
var exactMass = parseInt(document.getElementById("exactMass").value);
var accurateMass = parseInt(document.getElementById("accurateMass").value);
var ppmError=(accurateMass-exactMass)/exactMass*1000000;
对于另一个问题,在html中添加一个空段落,在其中显示结果
您可以执行以下操作,而不是调用console.log
:
document.getElementById('result').innerHTML = ppmError;
使用Single31中的解决方案,但要防止在单击后重新加载页面,请将按钮类型从“提交”更改为“按钮”,或将“返回false;”作为calculateError()函数的最后一行。否则,您将不会在页面上看到任何更改。使用Single31的解决方案,但为了防止在单击后重新加载页面,请将按钮类型从“submit”更改为“button”,或将“return false;”作为calculateError()函数的最后一行。否则,您将无法在页面上看到任何更改。
.value
将根据您的要求返回字符串类型转换。对于整数,使用parseInt(exactMass.value,10)代码>在HTML下方显示错误-您可以在提交按钮上方保留一个隐藏的范围,并将id放置。与console.log不同的是document.getElementById(您需要防止默认事件(返回false
或e.preventDefault()
),这样页面就不会重新加载。各位,非常感谢你们每一个人!工作得非常出色。但我还有一个问题:对于小数点差异的条目(例如,304.0001 vs 304.0005),我得到0作为输出,实际上它应该是1.32。我应该在某个地方指定小数点吗?再次感谢!使用parseFloat(document.getElementById(“exactMass”).value)
在本例中,.value
将根据您的要求返回字符串类型转换。对于整数,请使用parseInt(exactMass.value,10);
在HTML下方显示错误-您可以在提交按钮上方保留一个隐藏的span,其中id位于提交按钮上方。而不是console.log,而是document.getElementById(您需要阻止默认事件(return false
或e.preventDefault()
),这样页面就不会重新加载。各位,非常感谢你们每一个人!工作非常出色。但我还有一个问题:对于小数点差异的条目(例如,304.0001 vs 304.0005),我得到0作为输出,实际上应该是1.32。我应该在某个地方指定小数点吗?再次感谢!在这种情况下使用parseFloat(document.getElementById(“exactMass”).value)