我正在学习Javascript事件,但我对输入中输入的值有疑问。
当我输入数字时,需要更改计算(keyup)。关于我选择(更改)的选项也是如此。
但是我用段落(id = res)返回的值是不确定的。我不明白它的含义以及如何调试它。
// Here is the Javascript for my events (keyup and change).
document.getElementById("selectDevice").addEventListener('change', change);
document.getElementById("montant").addEventListener('keyup', change);
function change(e) {
var montant = Number.parseInt(document.getElementById("montant").value, 10);
var selectDevice = document.getElementById("selectDevice").value;
switch (e.target.id) {
case 'nothing':
var resultat = montant;
console.log(resultat);
break;
case 'usd':
var resultat = montant * 1.14;
console.log(resultat);
break;
case 'eur':
var resultat = montant * 0.82;
console.log(resultat);
break;
}
document.getElementById("res").innerHTML = resultat
}

<!-- Here is the HTML -->
Amount: <input id="montant" type="text" />
Device:
<select id="selectDevice">
<option id="nothing" value="nothing">Please choose a device</option>
<option id="usd" value="eur">EUR</option>
<option id="eur" value="usd">USD</option>
</select>
Convert amount: <span id="res"></span>
&#13;
我说法语,我没有翻译我的所有代码,但如果你有一些问题,我就在这里=)
如果你有Javascript文档中的一些解决方案,感谢你给我这个页面,因为我需要学习在doc中搜索以便自己找到我的解决方案。
度过愉快的一天=)
答案 0 :(得分:3)
你的switch
语句正在查看触发它的元素的ID,它有两个问题:
selectDevice
提供。这只需要很小的修复:
// Here is the Javascript for my events (keyup and change).
document.getElementById("selectDevice").addEventListener('change', change);
document.getElementById("montant").addEventListener('keyup', change);
function change(e) {
var montant = Number.parseInt(document.getElementById("montant").value, 10);
var selectDevice = document.getElementById("selectDevice").value;
switch (selectDevice) { // changed this and that was it.
case 'nothing':
var resultat = montant;
console.log(resultat);
break;
case 'usd':
var resultat = montant * 1.14;
console.log(resultat);
break;
case 'eur':
var resultat = montant * 0.82;
console.log(resultat);
break;
}
document.getElementById("res").innerHTML = resultat
}
&#13;
<!-- Here is the HTML -->
Amount: <input id="montant" type="text" />
Device:
<select id="selectDevice">
<option id="nothing" value="nothing">Please choose a device</option>
<option id="usd" value="eur">EUR</option>
<option id="eur" value="usd">USD</option>
</select>
Convert amount: <span id="res"></span>
&#13;