我有一个表单的代码,其中包含一些带有不同选项的下拉菜单,我还创建了警告弹出消息,以便他们现在无法选择相同的行星。我还在一个文本框上禁用了一个输入以进行输入,因为我只能输入一个输入。
我的问题是如何根据我选择的下拉框计算行星的重量?并且在输入类型上打印/显示它意味着如果我选择地球并且我的输入类型(重量)是60N,如果我的第二个选择是金星,它将为我计算重量并打印/显示它为输入类型。
以下是我的HTML代码和JavaScript代码。我是JavaScript的新手。
html:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<select name="select1" id="select1" onchange="process_selection(this)">
<option value="">-- choose one --</option>
<option value="0">Earth</option>
<option value="1">Venus</option>
<option value="2">Mars</option>
<option value="3">Jupiter</option>
<input type="text" name="123" id="text1"
onchange="process_selection(this)" placeholder=""> N
</select>
<br>
<select name="select2" id="select2" onchange="process_selection(this)">
<option value="">-- choose one --</option>
<option value="0">Earth</option>
<option value="1">Venus</option>
<option value="2">Mars</option>
<option value="3">Jupiter</option>
<input type="text" name = "123" id="text2"
onchange="process_selection(this)" placeholder=""> N
</select>
javascript:
<script type="text/javascript">
function process_selection(obj)
{
var input1 = document.getElementById("select1").value;
var input2 = document.getElementById("select2").value;
var texta = document.getElementById("text1");
var textb = document.getElementById("text2");
if(input1 == input2)
{
alert("Please select other planet");
}
if(texta.value != "")
{
document.getElementById("text2").disabled = true ;
}
if(textb.value != "")
{
document.getElementById("text1").disabled = true ;
}
// var xx = input1.options[input1.selectedIndex].value;
var SurfaceGravityEarth = 1;
var SurfaceGravityVenus= 0.907;
var SurfaceGravityMars= 0.377;
var SurfaceGravityJupiter= 2.364;
var weight1 , weight2;
// var sg1;
// var sg2;
if (input1 == "0" )
{
weight1 = document.getElementById("text1") * SurfaceGravityEarth;
}
if (input2 == "1" )
{
weight2 = document.getElementById("text1") * SurfaceGravityVenus ;
document.getElementById("text2").value= weight2 ;
}
}
我被困在计算部分。
答案 0 :(得分:1)
首先,获取文本框的值并将其转换为数字类型(整数,浮点等)。 请尝试以下代码:
function test() {
String.prototype.spacify = () => {
console.log(this.split('').join(' '));
}
}
使用parseInt()转换为整数类型。 如果要转换为float类型,请使用parseFloat() 或者您只需对整数和浮点数使用Number()方法