He estado tratando de tener un formulario de solo contraseña que muestre un div oculto en la misma página que el formulario cuando la contraseña es correcta. Tampoco quiero recargar, pero no estoy seguro de cómo hacerlo.
function checkPswd() { var confirmpassword = "admin"; var password = document.getElementById("pass").value; if (password == confirmpassword) { document.getElementById('hidden'); if (x.style.display === "none") { x.style.display = "block"; } else { alert('tryagain'); x.style.display = "none"; } };} .hidden { display: none; } <form method="post"> <label for="pswd">enter password</label> <input type="password" id="pass"> <input type="button" value="go" onsubmit="checkPswd();" /></form> <div class="hidden"> <p>this part I want hidden from people who don't know the password</p> </div>Estoy bastante seguro de que javascript está mal, pero ¿hay otra forma de hacerlo?
Pocas cosas:
Olvidó asignar el valor devuelto de document.getElementById('hidden') a x
Un botón no tiene un evento de submit . Quizás esté buscando el evento de click
No hay ningún elemento con la identificación hidden . Lo estás mezclando con el elemento con la clase hidden .
function checkPswd() { var confirmpassword = "admin"; var password = document.getElementById("pass").value; if (password == confirmpassword) { var x = document.querySelector('.hidden'); if (x.style.display === "none") { x.style.display = "block"; } else { alert('tryagain'); x.style.display = "none"; } }; } .hidden { display: none; } <form method="post"> <label for="pswd">enter password</label> <input type="password" id="pass"> <input type="button" value="go" onclick="checkPswd();" /></form> <div class="hidden"> <p>this part I want hidden from people who don't know the password</p> </div>