Por favor ayuda. no mostrará el Valor, incluso para la autenticación de formularios, para obtener valores de nombre de usuario y contraseña, estaba probando los mismos métodos.
<!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> <h1 id="result">Selected movie is </h1> <select id="movie" onchange="showmovie()"> <option value="Spiderman">Spiderman</option> <option value="Spiderman2">Spiderman2</option> <option value="Spiderman3">Spiderman3</option> </select> </body> </html> <script> var movie = document.getElementById("movie").value function showmovie(){ alert("Changed") document.getElementById("result").innerHTML="Movie chosen is"+movie } </script>Prueba con esta función showmovie
<script> function showmovie() { //Selected option var selectedMovie = document.getElementById("movie").value; document.getElementById("result").innerHTML = "Movie chosen is " + selectedMovie; } </script>El problema aquí se debe a que la línea var movie = document.getElementById("movie").value se ejecuta solo una vez al principio (podría verificar eso agregando console.log(movie); justo después de la declaración de la variable movie)
(la movie almacena el valor 'Spierdaman') y nunca se vuelve a ejecutar con las llamadas a la función showmovie() , por lo que podría simplemente mover la línea de declaración de la movie arriba dentro de la función para que se ejecute cada vez que ocurra la acción y luego tener la buena valores.
Otros detalles: para tener un código compatible, sugiero mover el bloque de script a la parte justo antes y no olvide agregar punto y coma ';' al final de cada línea! + Un mejor enfoque sería usar un eventListener como lo sugiere @TJ Crowder en la sección de comentarios anterior