¿Qué pasa con mi código? La alerta verdadera nunca sale aunque ponga una respuesta correcta, 0414. Solo sale falsa alerta.
var answer = String(document.getElementById('Properdate').value); var rightanswer = '0414'; <input id="Properdate" type="text"> <input type="submit" value="submit" onclick="if(answer === rightanswer){ alert('good'); } else { alert('Try again');}" >Intente usar una etiqueta de botón ya que no está enviando un formulario. Asígnele un ID para que pueda hacer referencia a él desde su archivo JS.
HTML
<input id="properdate" type="text"> <button id="submit" type="button">Submit</button>Desde su archivo JS o etiqueta. La palabra clave "let" te permite trabajar con la variable en el alcance, puedes declararla una vez y usarla en diferentes bloques y con diferentes valores.
Seleccione su elemento de botón "enviar" y use "addEventListener()" en lugar del atributo onclick. Esto no sobrescribe los controladores de eventos existentes como lo hace "onclick". A partir de ahí, asegúrese de estar utilizando el evento correcto, en este caso, haga "clic" y cree una función para hacer lo que necesite. Usa tus cláusulas if y trata de ser lo más limpio posible. ¡Sigue trabajando en eso, amigo!
JS
<script> let answer = document.getElementById('properdate'); let rightanswer = '0414'; let submit = document.getElementById('submit'); submit.addEventListener('click', function(){ if(answer.value === rightanswer) { alert('Good'); } else { alert('Try again'); } }); </script>Creo que se debe a que está recuperando el valor solo cuando se carga la página, cuando el evento lo llamó usa el valor almacenado en la respuesta, que es el que guardó cuando se cargó la página.
<input id="Properdate" type="text"> <script> var rightanswer= '0414'; </script> <input type="submit" value="submit" onclick=" var answer = String(document.getElementById('Properdate').value); if(answer === rightanswer){ alert('good'); } else{ alert('Try again');}" >Debería funcionar con esto
¡No es una buena idea poner el código como un clic en el botón! Hice un ejemplo que espero les sea útil.
Ejemplo:
document.getElementById('sbmt').addEventListener('click', submitFunc); function submitFunc() { var answer = document.getElementById('Properdate').value; var rightanswer = '0414'; if (answer === rightanswer) { alert('good'); } else { alert('Try again'); } } <input id="Properdate" type="text"> <input id="sbmt" type="submit" value="submit">