使用 JAVASCRIPT 转换货币。无法通过我的函数设置转换后的输入文本字段的值

Converting currencies using JAVASCRIPT. can't set the value of converted input text field through my function

我正在尝试使用 html 和 javascript (没有 jquery) 制作货币转换器。我已经尝试了很多东西,但我无法将文本字段的值设置为转换后的金额。我的代码出了什么问题?

所以我想做的基本上是检查我的初始金额是什么货币,根据那个调用正确的函数来进行计算,然后 设置值 输入字段 id="cur2" 到这些计算的结果。我尝试使用 以下 javascript 代码 来做到这一点。我只给你欧元对其他货币的功能(其余工作类似):

window.onload = function() {
    document.getElementById("btnConvert").addEventListener("click", convert);
}

function convert() {
    var select = document.getElementById("currency1");
    var curr = select.options[select.selectedIndex].value;
    var val = document.getElementById("cur2").value;
    if (curr == "EUR") {
        val = EURtoOther();
    }
    if (curr == "USD") {
        val = USDtoOther();
    }
    if (curr == "GBP") {
        val = GBPtoOther();
    }
    if (curr == "AUD") {
        val = AUDtoOther();
    }
    if (curr == "JPY") {
        val = JPYtoOther();
    }
}

function EURtoOther() {
    var select = document.getElementById("currency2");
    var curr = select.options[select.selectedIndex].value;
    var initval = document.getElementById("cur1").value;
    if (curr == "EUR") {
        return initval * 1.0;
    }
    if (curr == "USD") {
        return initval * 1.13;
    }
    if (curr == "GBP") {
        return initval * 0.79;
    }
    if (curr == "AUD") {
        return initval * 1.55;
    }
    if (curr == "JPY") {
        return initval * 123.27;
    }
}
    <select id="currency1">
        <option value="EUR">Euro</option>
        <option value="USD">US Dollar</option>
        <option value="GBP">British Pound</option>
        <option value="AUD">Australian Dollar</option>
        <option value="JPY">Japanese Yen</option>
    </select>
    <input type="number" id="cur1">
    <button id="btnConvert">Convert</button>
    <select id="currency2">
        <option value="EUR">Euro</option>
        <option value="USD">US Dollar</option>
        <option value="GBP">British Pound</option>
        <option value="AUD">Australian Dollar</option>
        <option value="JPY">Japanese Yen</option>
    </select>
    <input type="text" id="cur2">

不工作,我不知道为什么。提前致谢。

你必须做 document.getElementById().value = val;val 不是指那个元素,它只是一个值,所以你需要在后面设置它。

https://jsfiddle.net/stevenkaspar/aphxcpcs/

您没有设置第二个文本框的值。使用

document.getElementById("cur2").value = val;

设置第二个文本框的值

window.onload = function() {
    document.getElementById("btnConvert").addEventListener("click", convert);
}

function convert() {
    var select = document.getElementById("currency1");
    var curr = select.options[select.selectedIndex].value;
    var val = document.getElementById("cur2").value;
    if (curr == "EUR") {
        val = EURtoOther();
    }
    if (curr == "USD") {
//        val = USDtoOther();
    }
    if (curr == "GBP") {
//        val = GBPtoOther();
    }
    if (curr == "AUD") {
//        val = AUDtoOther();
    }
    if (curr == "JPY") {
//        val = JPYtoOther();
    }
  document.getElementById("cur2").value = val;
}

function EURtoOther() {
    var select = document.getElementById("currency2");
    var curr = select.options[select.selectedIndex].value;
    var initval = document.getElementById("cur1").value;
    if (curr == "EUR") {
        return initval * 1.0;
    }
    if (curr == "USD") {
        return initval * 1.13;
    }
    if (curr == "GBP") {
        return initval * 0.79;
    }
    if (curr == "AUD") {
        return initval * 1.55;
    }
    if (curr == "JPY") {
        return initval * 123.27;
    }
}
<select id="currency1">
        <option value="EUR">Euro</option>
        <option value="USD">US Dollar</option>
        <option value="GBP">British Pound</option>
        <option value="AUD">Australian Dollar</option>
        <option value="JPY">Japanese Yen</option>
    </select>
    <input type="number" id="cur1">
    <button id="btnConvert">Convert</button>
    <select id="currency2">
        <option value="EUR">Euro</option>
        <option value="USD">US Dollar</option>
        <option value="GBP">British Pound</option>
        <option value="AUD">Australian Dollar</option>
        <option value="JPY">Japanese Yen</option>
    </select>
    <input type="text" id="cur2">