【发布时间】:2013-09-08 09:31:22
【问题描述】:
我知道标题听起来很难理解(奇怪),但这里是它的解释:
假设我的页面上有 2 个表单。单击按钮会隐藏当前表单,然后显示另一个表单。我刷新页面。现在我希望刷新当前表单之前的表单在刷新之后也是当前表单。我知道可以使用localStorage 来完成,但我不知道怎么做。 :P
代码 (HTML):
<div class="span5">
<!-- Row's 2nd Column holding the sign-in/sign-up form -->
<form action="login.php" method="post" class="form-signin" id="login_frm">
<h2 class="form-signin-heading">Login</h2>
<input class="input-xlarge" type="text" placeholder="Username" name="username" />
<input class="input-xlarge" type="password" placeholder="Password" name="password" />
<br/>
<input type="submit" name="submit_login" value="Login" class="btn btn-primary" />
</form>
<form action="login.php" method="post" class="form-signin hide" id="register_frm">
<h2 class="form-signin-heading">Register</h2>
<input class="input-xlarge" type="text" placeholder="Username" name="username" />
<input class="input-xlarge" type="password" placeholder="Password" name="password" />
<input class="input-xlarge" type="password" placeholder="Confirm Password" name="confirm_password" />
<br/>
<input type="submit" name="submit_register" value="Register" class="btn btn-primary" />
</form>
</div>
CSS: 使用引导程序 :)
JS:
var registerBtn = $("#register_button"); //storing the hyperlink of register in a variable
var i = 0; //click count
$(document).ready(function () {
$("#register_button").on('click', function (e) {
e.preventDefault();
i++;
if (i % 2 === 0) {
$("#register_frm").fadeToggle('fast', function () {
$("#login_frm").fadeToggle('fast');
});
$(this).text('Register');
} else {
$("#login_frm").fadeToggle('fast', function () {
$("#register_frm").fadeToggle('fast');
});
$(this).text('Login');
}
});
});
【问题讨论】:
-
使用 PHP 可以更轻松地做到这一点,为什么选择本地存储?
-
@DevlshOne 我想他想在客户端做这件事。 PHP 需要在单击按钮时刷新页面以隐藏表单,或者通过 Ajax 获得通知(可能比
localStorage更多的代码)。 -
那么,如果登录信息一旦提交就无效了,那么应该出现注册表吗?我是这样读的吗?
-
@DevlshOne 我的理解是有一个单独的按钮可以在两种形式之间切换。切换是使用 jQuery 完成的。
-
@Pietu1998 是的,没错。和 DevlshOne,如果注册表单被错误提交,它应该不会隐藏,登录表单应该隐藏。
标签: javascript jquery html forms twitter-bootstrap