2017-12-14 13 views
0

私は単純なJavaScript通貨変換アプリケーションを開発中です。それは、私がそれをどうやって調整するかは、マザーを働かせないということだけです。 入力フィールドは入力を受け付けず、数字を入力しようとすると「0」しか表示されません。単純な通貨換算スクリプトが機能しない

私はPHPコードを最初に問題になるかもしれませんが、明らかに問題なく実行する必要があります。

<h1 style='font-size:46px'>1 DOLLAR = <input readonly id="currentprice" type="number"> 
<?php $url = "https://api.fixer.io/latest?base=USD"; 
    $json = file_get_contents($url); 
    $json_data = json_decode($json, true); 
    $price = $json_data["rates"]["BRL"]; 

    echo $price; 
?> 
    /> 
</h1> 

How many Dollars? 
<input oninput='finalAmountUSD()' onchange='finalAmountUSD()' style='font-size:23px;height:45px' type='number' class="buy buyinput form-control" id='usdamount' required value='0.00000000' tabindex="1" /> 
How many BRL? 
<input oninput='finalAmountBRL()' onchange='finalAmountBRL()' style='font-size:23px;height:45px' type='number' class="buy buyinput form-control" id='brlamount' required value='0.00' tabindex="2" /> 

<script> 
    function finalAmountUSD() { 
     x = document.getElementById('currentprice').value; 
     y = document.getElementById('usdamount').value; 
     z = document.getElementById('brlamount').value; 

     document.getElementById('usdamount').value = x * z; 
    } 
    function finalAmountBRL() { 
     x = document.getElementById('currentprice').value; 
     y = document.getElementById('usdamount').value; 
     z = document.getElementById('brlamount').value; 

     document.getElementById('brlamount').value = x * y; 
    } 
</script> 
+1

p要素には「値」がありません。「値」は入力要素です。彼らは 'タイプ'を持っていません。 –

+2

フォームからのすべての入力は文字列/テキストです。 var x = parseInt(document.getElementById( 'currentprice'))。値)に変換する必要があります。 document.getElementById( 'usdamount')も変更する必要があります。value = x * z; to document.getElementById( 'usdamount')。innerHTML = x * z; – jeff

+0

@RonnieOosting彼は特定のロケールに基づいて通貨として番号をフォーマットするだけではなく、通貨換算を試みています –

答えて

0

2つのイベントハンドラoninputとonchangeを使用しています。 oninputイベントハンドラは、要素の値が変更された直後に起動され、onchangeイベントハンドラは、要素の値が変更され、要素がフォーカスを失ったときに起動されます。

あなたはoninputイベントハンドラだけが必要だと思います。

関連する問題