Company logo
  • Empleos
  • Bootcamp
  • Acerca de nosotros
  • Para profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
    • Bootcamp
  • Para empresas
    • Inicio
    • Nuestro proceso
    • Planes
    • Pruebas
    • Nómina
    • Blog
    • Comercial
    • Calculadora

0

37
Vistas
The radio inputs from my html are not interacting well with my if statements in javascript

I'm a beginner and am trying to make the radio button submission generate the corresponding result below, fairly simple idea. Here's where I'm stuck

<h3>Choose Your Variable</h3>
<form action="#">
    <label for="itemtype"><input id="xmon" type="radio" name="monname" value="x">Xmon</label>
    <label for="itemtype"><input id="ymon" type="radio" name="monname" value="y">Ymon</label>
    <label for="itemtype"><input id="zmon" type="radio" name="monname" value="z">Zmon</label><br>
    <button type="submit">Submit</button> <button type="reset">Reset</button>
</form>

<p id="item">Your item is...</p>

<script>
    let answer = document.querySelectorAll("[name='monname']"); 
    let form = document.querySelector("form");

    form.addEventListener("submit", redirect);

function redirect() {
    event.preventDefault();
    if(answer.value == "x"){
        document.getElementById("item").innerHTML="Amon";
    }else if(answer.value == "y"){
        document.getElementById("item").innerHTML="Bmon";
    }else {
        document.getElementById("item").innerHTML="Cmon";
    }
}
</script>

On let answer = document.querySelectorAll("[name='monname']"); the final result is always "Cmon" no matter the radio button selected.
If I change it to let answer = document.querySelector("[name='monname']"); the result is always "Amon" no matter the radio button selected.

I have no idea what I'm missing. General code feedback is also appreciated.

7 months ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos