Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用<;表格>;及<;输入>;元素作为JavaScript代码的输入。这是最好的方法吗?_Javascript_Html_Forms_Input - Fatal编程技术网

使用<;表格>;及<;输入>;元素作为JavaScript代码的输入。这是最好的方法吗?

使用<;表格>;及<;输入>;元素作为JavaScript代码的输入。这是最好的方法吗?,javascript,html,forms,input,Javascript,Html,Forms,Input,各位, 显然,我对编码是新手,所以最近完成了几门关于HTML和Javascript的Lynda课程后,我的简单HTML页面遇到了麻烦。基本上,我想用JavaScript做一个基本的计算,让用户使用HTML表单/输入元素输入两个数字,然后在JS上做一个基本的算术计算。由于某种原因,代码不起作用。有人能告诉我正确的方向,为什么JS没有读取这些输入值?getElementById是正确的方法吗 此外,我正在使用console.log来显示结果,因为我还不知道如何将其显示在HTML页面上提交按钮下方的文

各位, 显然,我对编码是新手,所以最近完成了几门关于HTML和Javascript的Lynda课程后,我的简单HTML页面遇到了麻烦。基本上,我想用JavaScript做一个基本的计算,让用户使用HTML表单/输入元素输入两个数字,然后在JS上做一个基本的算术计算。由于某种原因,代码不起作用。有人能告诉我正确的方向,为什么JS没有读取这些输入值?getElementById是正确的方法吗

此外,我正在使用console.log来显示结果,因为我还不知道如何将其显示在HTML页面上提交按钮下方的文本中

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)