I have a variety of radio buttons and depending on the combination in which they are selected, I would like a message to appear in a span element when the user presses a button when they are satisfied with their input. However, it is not achieving this. Here is what my code looks like so far:
HTML:
<p>Select your first colour:</p>
<input type="radio" id="red" name="primary" value="0">Red<br>
<input type="radio" id="yellow" name="primary" value="1">Yellow<br>
<input type="radio" id="blue" name="primary" value="2">Blue<br>
<p>Select your second colour:</p>
<input type="radio" id="green" name="other" value="0">Green<br>
<input type="radio" id="white" name="other" value="1">White<br>
<input type="radio" id="purple" name="other" value="2">Purple<br>
<input type="button" id="mixColours" value="Mix!"><br />
<span id="colourResult"> </span><br /><br />
Javascript:
var $ = function(id) {
return document.getElementById(id);
};
var red = $("red");
var yellow = $("yellow");
var blue = $("blue");
var green = $("green");
var white = $("white");
var purple = $("purple");
var mixColours = function mixColours () {
if (red.checked && green.checked) {
$("colourResult").innerHTML = "You made Yellow!";
}
else if (red.checked && white.checked) {
$("colourResult").innerHTML = "You made Pink!";
}
else if (red.checked && purple.checked) {
$("colourResult").innerHTML = "You made Mauve!";
}
if (yellow.checked && green.checked) {
$("colourResult").innerHTML = "You made Yellow!";
}
else if (yellow.checked && white.checked) {
$("colourResult").innerHTML = "You made Light Yellow!";
}
window.onload = function () {
$("mixColours").onclick = mixColours;
Or jsfiddle here: http://jsfiddle.net/e2yjerm3/
If anyone could pick out my mistakes and help me out (or lead me to help articles), I would really appreciate it. I created this based on tutorials, etc. I've read, but I've seem to have gone astray.