2017-03-23 3 views
0

私は何かを小さくしたいと思います。摂氏を入力すると、プログラムは華氏を計算する必要があります。逆も同様です。しかし、私が摂氏に入ってボタンをクリックすると、逆も同様になります。私は初心者なので、function1を起動するとfunction2を実行しないでください。私のJavascriptを次のようになります。関数を切り替えるにはjavascript

JS:

function Omrekenen() { 
 
    var celsius = document.getElementById('Celsius').value; 
 
    var fahrenheit = document.getElementById('Fahrenheit').value; 
 

 

 
    var r1 = (celsius * 1.8) + 32; 
 
    var r2 = (fahrenheit/1.8) - 32; 
 
} 
 

 
function Leeg1() { 
 
    document.getElementById('Fahrenheit').value = ""; 
 
} 
 

 
function Leeg2() { 
 
    document.getElementById('Celsius').value = ""; 
 
}
<div class="Oefening"> 
 
    <h1 class="Titel">Oefening 3</h1> 
 
    Celsius: <input type="number" id="Celsius" placeholder="°C" onkeyup=Leeg1()> Fahrenheit: <input type="number" id="Fahrenheit" placeholder="°F" onkeyup="Leeg2()"><br /> 
 
    <input type="button" id="button3" value="Zet om" onclick="Omrekenen(); Vast();" class="Button"> 
 
</div>

+2

'if'文を使用して、値が入力されているか、空であるかを確認します。 –

答えて

0

はここでこれを行うための一つの方法です。

入力から値の長さをチェックしています。この場合、真実度(if (celsius) ...)を確認することはできません。これは、0という値が有効であるのにfalseと評価されるためです。長さを確認することは、それぞれの場合に有効です。

function Omrekenen() { 
 
    var celsius = document.getElementById('Celsius').value; 
 
    var fahrenheit = document.getElementById('Fahrenheit').value; 
 

 
    if (celsius.length !== 0) { 
 
     document.getElementById('Fahrenheit').value = (celsius * 1.8) + 32;  
 
    } else if (fahrenheit.length !== 0) { 
 
     document.getElementById('Celsius').value = (fahrenheit/1.8) - 32;   
 
    } 
 
    
 
} 
 

 
function Leeg1() { 
 
    document.getElementById('Fahrenheit').value = ""; 
 
} 
 

 
function Leeg2() { 
 
    document.getElementById('Celsius').value = ""; 
 
}
<div class="Oefening"> 
 
    <h1 class="Titel">Oefening 3</h1> 
 
    Celsius: <input type="number" id="Celsius" placeholder="°C" onkeyup=Leeg1()> Fahrenheit: <input type="number" id="Fahrenheit" placeholder="°F" onkeyup="Leeg2()"><br /> 
 
    <input type="button" id="button3" value="Zet om" onclick="Omrekenen();" class="Button"> 
 
</div>

+0

ありがとう!感謝します! –

0

また、状態変数を使用することができますが、あなたはまた、その場合のペーストアクションを処理したいと思います。

<script> 
var isCalculatingCelsius; 
function Omrekenen() 
{ 

    var celsius = document.getElementById('Celsius').value; 
    var fahrenheit = document.getElementById('Fahrenheit').value; 


    if (isCalculatingCelsius){ 
    document.getElementById('Celsius').value = (fahrenheit/1.8) - 32; 
    } else { 
    document.getElementById('Fahrenheit').value = (celsius * 1.8) + 32; 
    } 
} 

function Leeg1(){ 
    isCalculatingCelsius = false; 
    document.getElementById('Fahrenheit').value = ""; 
} 

function Leeg2(){ 
    isCalculatingCelsius = true; 
    document.getElementById('Celsius').value = ""; 
} 

</script> 
<div class="Oefening"> 
    <h1 class="Titel">Oefening 3</h1> 
    Celsius: <input type="number" id="Celsius" placeholder="°C" onkeyup="Leeg1()"> 
    Fahrenheit: <input type="number" id="Fahrenheit" placeholder="°F" onkeyup="Leeg2()"><br /> 
    <input type="button" id="button3" value="Zet om" onclick="Omrekenen()" class="Button"> 
</div> 
+0

ありがとう!感謝します。 –

関連する問題