tengo este formulario
Lo que debo hacer es cambiar el color del fondo del formulario a rojo si es incorrecto o verde si es correcto, cuando se hace clic en "verificar respuesta".
esto es lo que tengo hasta ahora:
JavaScript
function chagecolor()
{
var changec = document.getElementById("answer")
if (changec == "BURJ KHALIFA")
{
changec.style.backgroundColor = '#F40320';
}
else
{
changec.style.backgroundColor = '#03C13D';
}
HTML
<hr> ¿Cuál será el edificio más alto del mundo en 2022? <!--BURJ KHALIFA--> <formulario > <input style="text-transform: uppercase;" type="text" id="answer" name="answer"> <input onclick="changecolor()" id="turnon" type="submit" value="Comprobar respuesta">{** *}
¿Puede alguien indicarme la dirección correcta? Gracias.
Aquí está tu problema:
var changec = document.getElementById("answer")
if (changec == "BURJ KHALIFA")
document.getElementById devolverá un Element
o nulo/indefinido. Ninguno de estos será igual a una cadena
En cambio, quieres
if (changec.value == "BURJ KHALIFA")
En primer lugar, está llamando al método incorrecto en la entrada.
En segundo lugar, su declaración if en el método debe verificar changec.value y no solo changec.
Espero que esto pueda guiarte en la dirección correcta :D
Actualice su condición de la siguiente manera
if (changec.value == "BURJ KHALIFA")