当我从表单提交提交时,我正试图隐藏div。发生了变化,但是当警报(“链接”)结束时,一切都会回到原来的状态。
<script type="text/javascript" language="javascript">
function checarLogin(user, pass){
var e;
if (user.value == "a") {
if (pass.value == "b") {
alert("Bienvenido.");
e = document.getElementById('login').style.display='none';
alert("link");
} else
alert("Usuario o clave incorrectos.");
} else
alert("Usuario o clave incorrectos.");
}
</script>
<div id="login">
<form onsubmit="checarLogin(user, pass)">
Ingrese usuario y clave para ver los documentos.
<div id="inlogin" display="none">
<br><br>
Usuario <input name="user" type="text"><br><br>
Clave <input name="pass" id="clave" type="password"><br>
<input type="submit">
</div>
</form>
</div>
<div id="descargas">
Descargables.
<div id="indescargas">
</div>
</div>
我想隐藏登录DIV。
答案 0 :(得分:1)
当您提交表单时,它会往返服务器。页面很可能是刷新的,这会导致内容恢复原样。您可以通过将页面设置为高,向下滚动并提交来测试。如果您回到顶部,则页面已刷新。
要解决此问题,您可能希望使用ajax请求提交表单数据。
答案 1 :(得分:0)
页面正在提交给自己,添加return false应该这样做。 http://jsfiddle.net/Y6x5N/
<form onsubmit=" return checarLogin(user, pass);">
和
function checarLogin(user, pass){
var e;
if (user.value == "a") {
if (pass.value == "b") {
alert("Bienvenido.");
e = document.getElementById('login').style.display='none';
alert("link");
} else {
alert("Usuario o clave incorrectos.");
}
} else {
alert("Usuario o clave incorrectos.");
}
return false;
}
答案 2 :(得分:0)
这是因为表单正在提交给服务器。我假设您要完成的是身份验证功能?一旦用户通过身份验证,登录 div
将被删除?
我建议您在服务器端的站点中进行身份验证。如果您打算继续这样做,密码将打印在javascript
块中,并且用户可以轻松阅读。用户成功通过身份验证后,服务器可以轻松返回另一个没有登录 div
的页面。更轻松,更安全。