2017-09-26 49 views
0

我有一個窗體的代碼,其中包含一些帶有不同選項的下拉菜單,並且我還創建了警報彈出消息,以便它們不能選擇相同的行星現在。我也有禁用一個輸入在一個文本框輸入,因爲我只能把一個輸入。計算行星的重量,並將其輸出到輸入類型

我的問題是如何根據我選擇的下拉框來計算行星的重量?並且在輸入類型上打印/顯示它意味着如果我選擇地球並且我的輸入類型(重量)是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

你從document.getElement('xxxx')得到的是一個DOM元素類型。在這種情況下,你不能只是在它上面進行乘法操作,也許你需要使用'document.getElement('xxxx').value'來獲取該元素的值,然後將該字符串值轉換爲數字類型,以便可以用它來做數學工作 – Noah

回答

1

首先,獲取textbox的值並將其轉換爲數字類型(整數,浮點數等)。 嘗試以下代碼:

weight1 = parseInt(document.getElementById("text1").value) * SurfaceGravityEarth; 

使用parseInt函數()轉換爲整數類型。 如果你想轉換爲浮點型使用parseFloat() 或者你可以簡單地使用整數和浮點數的Number()方法

相關問題