JavaScript如何让用户在文本框中输入变量来求解方程?

rdrgkggo  于 2023-01-07  发布在  Java
关注(0)|答案(3)|浏览(118)

我正在创建一个简单的方程求解器,涉及除法。我有两个文本框,一个为“质量”,一个为“元素”。我想创建一个变量“H”,并将其设置为等于1,这样当用户在质量框中键入“2”,在元素框中键入“H”时,输出将显示“1”。
这是我的HTML

<div id="GramsToMolesContainer"><div id="GramMolesText">
<font size=3>Grams To Moles</font></div>
<form>
Grams : <input type="text" id="GramsChoice" /><br>
Element : <input type="text" id="ElementChoice" /><br>
<input type="button" onClick="GramstoMoles()" Value="Convert" />
</form>
<p>Molar Mass : <br>
<span id = "resultMolarMass"></span>
</p>
</div>

下面是我的Javascript:

function GramstoMoles()
{
var H = 1;

GramsState = document.getElementById("GramsChoice").value;

ElementState = 
document.getElementById("ElementChoice").value;

document.getElementById("resultMolarMass").innerHTML 
= GramsState / ElementState;
}
mkshixfv

mkshixfv1#

你将需要创建一个字典。这是你的函数应该看起来的样子。每次你想要添加一个元素-创建一个新的键-值对。

function GramstoMoles()
{
var elements = {h:1, he:2};

GramsState = document.getElementById("GramsChoice").value;

ElementState = 
document.getElementById("ElementChoice").value;

document.getElementById("resultMolarMass").innerHTML 
= parseInt(GramsState) / elements[ElementState];
}
h7wcgrx3

h7wcgrx32#

检查您的代码的这个工作片段!
如果您想将H设置为某个框的初始值,请执行
var ElementState = document.getElementById("ElementChoice").value = H;,然后再调用该函数。

function GramstoMoles (){

var H = 1;
var GramsState = document.getElementById("GramsChoice").value;
var ElementState = document.getElementById("ElementChoice").value;
document.getElementById("resultMolarMass").innerHTML = GramsState / ElementState;

}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="GramsToMolesContainer"><div id="GramMolesText">
<font size=3>Grams To Moles</font></div>
<form>
Grams : <input type="text" id="GramsChoice" /><br>
Element : <input type="text" id="ElementChoice" /><br>
<input type="button" onClick="GramstoMoles()" Value="Convert" />
</form>
<p>Molar Mass : <br>
<span id = "resultMolarMass"></span>
</p>
</div>
biswetbf

biswetbf3#

当你得到var elementvar grams时,

var elements = ['H','He','Li','Be',...];
var atomicmasses = [1,4,6,9,.....];
var molarmass = molarmasses[elements.indexOf(element)];
var mole = grams/molarmass;

相关问题