Tell us what’s happening:
I am stuck on steps 7-11. My functions look to be set properly according to the lesson but I am not getting an actual output.
Your code so far
<!-- file: index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<input id="number">
<button id="convert-btn">Convert</button>
<div id="output"></div>
<script src="./script.js"></script>
</body>
</html>
/* file: styles.css */
/* file: script.js */
const input = document.getElementById("number");
const convert = document.getElementById("convert-btn");
const output = document.getElementById("output");
const numerals = [
["M", 1000],
["CM", 900],
["D", 500],
["CD", 400],
["C", 100],
["XC", 90],
["L", 50],
["XL", 40],
["X", 10],
["IX", 9],
["V", 5],
["IV", 4],
["I", 1]
];
input.addEventListener("keydown", e => {
if (e.key === "Enter") {
convert.click()
}
});
convert.addEventListener("click", () => {
let value = input.value;
if (!value) {
output.innerText = "Please enter a valid number"
} else if (value < 0) {
output.innerText = "Please enter a number greater than or equal to 1"
} else if (value > 3999) {
output.innerText = "Please enter a number less than or equal to 3999"
} else {
let result = "";
for (const [roman,number] of numerals) {
while (number < value) {
result += roman;
value -= number
}
}
}
output.innerText = result;
})
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36
Challenge Information:
Build a Roman Numeral Converter Project - Build a Roman Numeral Converter