使用 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
不是指那个元素,它只是一个值,所以你需要在后面设置它。
您没有设置第二个文本框的值。使用
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">
我正在尝试使用 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
不是指那个元素,它只是一个值,所以你需要在后面设置它。
您没有设置第二个文本框的值。使用
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">