JavaScript货币转换器

JavaScript货币转换器,javascript,html,Javascript,Html,需要帮助我会给你评分的。 嗨,我正在做一项作业,如果你能帮我做这件事,我做错了什么?这将是一个很大的帮助 <div id="box"> <h2>Currency Converter</h2> <table> <tr> <td><input id="fromAmount" type="text" size="15" value="0"

需要帮助我会给你评分的。 嗨,我正在做一项作业,如果你能帮我做这件事,我做错了什么?这将是一个很大的帮助

    <div id="box">
        <h2>Currency Converter</h2>
        <table>
            <tr>
            <td><input id="fromAmount" type="text" size="15" value="0" onkeyup="conCurrency();"/></td>
            <td>
                <select id="from" onchange="conCurrency();">   
                <option value="EUR">Euro (EUR)</option>
                <option value="USD">American Dollar (USD)</option>
                <option value="GBP">British Pound (GBP)</option>
                <option value="JPY">Japanese Yen (JPY)</option>
                <option value="CAD">Canadian Dollar (CAD)</option>
            </select>
        </td>
       </tr>
       <tr><td><input id="toAmount" size="15" type="text" disabled onkeyup="conCurrency();"/></td>
        <td>
            <select id="to" onchange="conCurrency();">   
            <option value="EUR">Euro (EUR)</option>
            <option value="USD">American Dollar (USD)</option>
            <option value="GBP">British Pound (GBP)</option>
            <option value="JPY">Japanese Yen (JPY)</option>
            <option value="CAD" selected>Canadian Dollar (CAD)</option>
        </select>
    </td></tr>
         </table> 

您有几个问题,都与
值的使用有关:

  • 它区分大小写,因此
    .Value
    是错误的。它应该是
    .value
  • 当您将
    属性中的值指定给变量时,不应该从该变量中获取
    属性,因为这样做本质上就是执行
    .value.value
    ,这是错误的
请参阅更正代码中的注释:

var比率={
欧元:{“美元”:1.13,“英镑”:0.86,“日元”:127.274,“加元”:1.51},
美元:{“加元”:1.33,“欧元”:0.87,“英镑”:0.76,“日元”:111.96},
英镑:{“加元”:1.76,“欧元”:1.16,“美元”:1.32,“日元”:147.86},
“日元”:{“加元”:0.0119,“欧元”:0.0079,“美元”:0.0089,“英镑”:0.0068},
“加元”:{“日元”:84.23,“欧元”:0.66,“美元”:0.75,“英镑”:0.57}
};
函数并发性(){

var from=document.getElementById(“from”).value;//学习javascript时,您应该做的第一件事是学习如何使用错误控制台。您的代码会抛出错误,而控制台会告诉您错误的内容和位置。例如,您设置
var result=0
,然后尝试分配
result。value
0
没有
value
属性,因此不清楚您想做什么。我主要用java编写代码(初学者)我使用相同的逻辑。我甚至不知道他们抛出了类似的错误。我知道他们有相似的名称,但JavaScript不是Java。它们在大多数情况下是两种不同的语言。我只是好奇,onchange调用中的分号有效吗?它是可选的。如果缺少,JavaScript会在解释代码时添加它。谢谢你是个救命恩人。先生我真是太感谢你了。我已经花了6个多小时了。这真让人发疯。
var rates = {
    'EUR': 
        {'USD': 1.13, 'GBP':0.86,'YEN':127.274,'CAD':1.51}, 
    'USD': 
        {'CAD':1.33,'EUR': 0.87,'GBP':0.76,'YEN':111.96},
    'GBP':
        {'CAD':1.76,'EUR':1.16 ,'USD':1.32,'YEN':147.86}, 

    'YEN':
        {'CAD':0.0119,'EUR':0.0079 ,'USD':0.0089,'GBP':0.0068},
    'CAD':
        {'YEN':84.23,'EUR':0.66 ,'USD':0.75,'GBP':0.57}}
function conCurrency(){
    var from= document.getElementById("from").Value;
    var to= document.getElementById("to").Value;
    var fAmount =document.getElementById("fromAmount").value
    var result =0;
    if(rates[from.value] && rates[from.value][to.value]){
        result.value = fAmount * rates[from.value][to.value];
   document.getElementById("toAmount") = result;

    }
}