当我点击下一个按钮并进入步骤2时,如果我重新加载页面,我希望确保它保持在我所在的div上。
我使用的2个div是join_form_1
和join_form_2
此时,当我重新加载页面时,它会返回到第一个div
我怎样才能让它停留在我所在的div上?
Codepen示例此处
$(document).ready(function(){
$("#join_form_2").hide();
$("#step_1_link").addClass("active");
$("#next").click(function(){
$("#step_1_link").removeClass("active");
$("#step_2_link").addClass("active");
$("#join_form_1").hide();
$("#join_form_2").show();
});
});
HTML
<div class="container">
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div class="heading-message">
<div class="text-center">
<i class="fa fa-user" aria-hidden="true"></i>
</div>
<div class="text-center">
<h1>Request A Admin Member Login</h1>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-9 col-md-9 col-sm-12 col-xs-12">
<ol class="steps list-inline">
<li id="step_1_link">
<a href="">Step 1: Set up a personal account</a>
</li>
<li id="step_2_link">
<a href="">Step 2: Choose profile picture</a>
</li>
</ol>
<div id="join_form_1">
<div class="form-group">
<label>Username</label>
<input type="text" name="username" value="" class="form-control" placeholder="" />
</div>
<div class="form-group">
<label>Email</label>
<input type="text" name="email" value="" class="form-control" placeholder="" />
</div>
<div class="form-group">
<label>Password</label>
<input type="password" name="password" value="" class="form-control" placeholder="" />
</div>
<div class="form-group">
<label>Confirm Password</label>
<input type="password" name="confirm_password" class="form-control" placeholder="" />
</div>
<div class="form-group">
<button type="button" class="btn btn-default" id="next">Next</button>
</div>
</div><!-- Setup_1 -->
<div id="join_form_2">
<div class="form-group">
<label>Upload A Image</label>
<input type="file" name="userfile" size="50" />
</div>
</div><!-- Setup_1 -->
</div>
<div class="col-lg-3 col-md-3 col-sm-12 col-xs-12">
<div class="info-box">
<h2>You'll Love This Forum</h2>
</div>
</div>
</div>
</div>
您可以在这里使用javascript cookie API
因此,当用户点击"下一步"时
Cookies.set('active', 'join_form_2');
如果用户在上一个会话中单击,则显示表单2。
if (Cookies.get('active') == 'join_form_2') {
$("#join_form_1").hide();
$("#step_1_link").removeClass("active");
} else {
$("#join_form_2").hide();
$("#step_1_link").addClass("active");
}
这是工作电笔。
最简单、最可靠的方法是使用Fragment_identifier和:target伪选择器。
即使禁用了cookie,这也会起作用。由于您使用的是bootstrap,所以很容易将<a>
标记设置为按钮样式。
例如:
if (!window.location.hash) {
window.location.hash = 'step1';
.steps:not(:target) {
display: none;
}
<a href="#step1">step1</a>
<a href="#step2">step2</a>
<div id="step1" class="steps">Step1</div>
<div id="step2" class="steps">Step2</div>