<script> function fun(){ let i=document.getElementById("input") if(i==="sam") { alert("welcome SAM") } else { alert("welcome user") } } </script> <input id="input"/> <button onclick="fun()">click</click>si el usuario escribe la entrada como 'sam', debe seguir el bloque if pero cada vez que ejecuta otra parte.
El método getElementById devuelve el elemento html, si desea obtener texto dentro de la entrada, debe usar document.getElementById("input")?.value
Asegúrate de que tu entrada sea correcta.
En lugar de escribir "if(i===sam)", escribe "if(i=="sam").
Aparte de eso, creo que hay un problema con su método de entrada. Javascript no obtiene directamente la entrada del cuadro. Para obtener más información, consulte este enlace: https://www.tutorialspoint.com/How-to-take-user-input-using-HTML-forms
Si desea hacerlo de la manera más fácil, simplemente coloque "document.getElementById("input").value"
Si esta respuesta te ayudó, por favor márcala como respuesta.
Simplemente agregue .value delante de document.getElementById("input")
Así:
let i=document.getElementById("input").valueBásicamente, no está pasando el texto a la variable i , esa es la razón por la que se está ejecutando otra cosa