'How to change background color of the web page according to user choice?
I tried using the input color tag but i have to click twice on the tag to change the color any way to fix this
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<form action="">
<label for="color"> Color:</label>
<input
type="color"
name="color"
id="color"
value="#00FFFF"
onclick="changecolor()"
/><br />
</form>
<script>
function changecolor() {
let color = document.getElementById("color").value;
document.body.style.backgroundColor = color;
}
</script>
</body>
</html>
Solution 1:[1]
Your code does work, only you are using an incorrect event listener for what you are trying to do.
Simply change your event from onclick to onchange
Like this
<input
type="color"
name="color"
id="color"
value="#00FFFF"
onchange="changecolor()"
/>
Hopefully this makes sense.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Aidan Donnelly |
