我在同一个面板中有两个表单(用户注册和登录),其中两个标题是Register和login。当按下在登录表单和注册表单之间切换时。 像这样
<div class="panel-heading">
<div id="register_div" >
<a href="#" id="register_btn" class="text-center">Register</a>
</div>
<div id="login_div">
<a href="#" id="login_btn" class="text-center" >Login</a>
</div>
</div>
这样的两种形式
<div class="panel-body">
<form action="/register" method = "post" id = "reg_form">
</form>
<form action="/login" method="post" id="login_form">
</form>
</div>
当页面加载时,登录表单被隐藏,注册表单显示为javascript
$('#login_form').hide();
问题是提交登录表单并返回登录错误时,页面重新加载和登录错误隐藏在登录表单中,默认情况下会显示注册表单。现在,当我按下登录表单选项卡时,会附加登录错误。如何在登录错误出现时显示登录表单并与注册表单相同?完整代码共享here以便更好地理解
答案 0 :(得分:0)
您可以使用localStorage。
在页面加载时你会这样做:
var formShowing = localStorage.getItem("formShowing");
if(formShowing && formShowing === "login"){
$('#reg_form').hide();
}
else{
$('#login_form').hide();
}
点击按钮:
localStorage.setItem("formShowing","register");
localStorage.setItem("formShowing","login");
答案 1 :(得分:0)
试试这个:
var $errorField = $('.has-error'); //get field with error
if($errorField) { // if there is a field with error
$('form').hide(); //hide all forms first
$errorField.closest('form').show(); //show the one with an error
} else {
$('#login_form').hide(); //default logic
}